1. 题目🔍

输入n个单词,计算每个单词长度。对单词长度排序,分行输出单词长度及其单词。

1.1 输入格式

行1:单词个数n
分行输入n个单词

1.2 输出格式

分行输出单词长度及其单词。(单词长度,单词)用元组表示

1.3 输入样例

5
python
list
set
996
tuple

1.4 输出样例

(3, ‘996’)
(3, ‘set’)
(4, ‘list’)
(5, ‘tuple’)
(6, ‘python’)


2. 题解✨

2.1 思路

关键 创建一个空字符串和一个空字典📔

  • 字符串用来存储依次输入的字符串
  • 字符串排序后(将形如’996’的数字字符串排到字母字符串’set’前面)的元素当作key🔑、元素(每个字符)的长度当作value依次存入字典
  • 字典以值的大小排序(参考:lambda表达式的用法

⚠️注意: 字典按值排序后返回值是元素为集合列表,每个集合即为原字典中的一个键值对。

2.2 代码

a = int(input())
ls = []
dic = {}

for i in range(a):
    temp = input()
    ls.append(temp)		# 将输入字符串依次存入ls

for i in sorted(ls):	# 对ls排序后进行迭代
    dic[i] = len(i)		# 将ls中的元素与对应的长度存入字典


new_dic = sorted(dic.items(), key=lambda item: item[1])		# 对字典按值排序

for i in new_dic:
    print("({}, '{}')".format(i[1], i[0]))

看到这里,相信聪明的你已经基本掌握了求单词长度并根据长度排序的方法

那么… 不如去听听👉🏻我的歌👈🏻放松一下叭~😂


相关内容

  • Python期末考试总复习资料
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐