我们都知道python中的字典是无序的,而要怎么样对它进行排序呢,在这笔者提供一种方法
把字典先转变为一个元组,再放进列表里利用lambda函数进行对"值"来进行排序
以下为代码部分:
-
#这里我们是对一段字符进行排序再打印
-
#统计输入的字符串,按字符出现频率并按照降序方式打印字母
-
text = input("请输入一段文本(回车退出):")
-
while text != '':#如果为空则退出循环
-
d = {}#创立一个空字典
-
for word in text:#遍历文本
-
d[word] = d.get(word,0) + 1#这里提供了两种统计次数的方法
-
# d[word]=text.count(word)
-
#转为列表类型对其排序
-
ls = list(d.items())
-
ls.sort(key=lambda x:x[1],reverse = True)#以记录字典的值来排序
-
for i in range(len(ls)):
-
word,count = ls[i]
-
print("{0:<10}{1:>5}".format(word,count))#输出格式化控制
-
text = input("请输入一段文本(回车退出):")
这里我们就实现了对字典元素的排序。