python字典根据value排序
2020-09-23 本文已影响0人
生信编程日常
有时候我们将数据保存在字典中,想将元素出现的次数按照顺序排序。我们可以考虑用lambda和sort函数实现。
比如以下数组:
from collections import Counter
words = ["i", "love", "i", "leetcode", "coding"]
print(c)
统计结果c为:
Counter({'i': 2, 'love': 1, 'leetcode': 1, 'coding': 1})
我们想按照出现次数升序排列的话:
sorted(c.items(), key=lambda x: x[1])
返回:
[('love', 1), ('leetcode', 1), ('coding', 1), ('i', 2)]
对于相同的次数的元素,按照key的字母顺序排序:
sorted(c.items(), key=lambda x: (x[1], x[0]))
降序:
sorted(c.items(), key=lambda x: (x[1], x[0]), reverse = True)
欢迎关注!