按照键(key)排序
d = {'c':2, 'b':1, 'a':4, 'd':3}
print(d)
# 顺序
for i in sorted (d) :
print ((i, d[i]), end =" ")
print('\n','顺序如上,逆序如下')
# 逆序
for i in sorted (d, reverse=1) :
print ((i, d[i]), end =" ")
# 输出如下:
# {'c': 2, 'b': 1, 'a': 4, 'd': 3}
# ('a', 4) ('b', 1) ('c', 2) ('d', 3)
# 顺序如上,逆序如下
# ('d', 3) ('c', 2) ('b', 1) ('a', 4)
按照值(value)排序
d = {'a':2, 'b':1, 'c':4, 'd':3}
print(d)
# 顺序
out = sorted(d.items(), key=lambda item:item[1])
print(out)
# 逆序
d = {'a':2, 'b':1, 'c':4, 'd':3}
out = sorted(d.items(), key=lambda item:item[1], reverse=1)
print(out)
print(type(out), type(out[0]))
# 输出如下:
# {'a': 2, 'b': 1, 'c': 4, 'd': 3}
# [('b', 1), ('a', 2), ('d', 3), ('c', 4)]
# [('c', 4), ('d', 3), ('a', 2), ('b', 1)]
# <class 'list'> <class 'tuple'>
注:
out = sorted(d.items(), key=lambda item:item[1], reverse=1)
这句话有点难理解,可以分开来看:
sorted
默认对对象进行升序排列- 后面的
reverse=1
是指逆序排列 d.items()
是把字典d
转成了可迭代对象lambda item:item[1]
是定义了一个匿名函数,输入是item
输出是item[0]
,也就是取出了字典中的 值
所以,总体意思就是按照字典中的 值 对字典进行排序
猜你喜欢:👇🏻
⭐【Python】字典(Dictionary) items()方法
⭐【Python】sort 和 sorted 的用法区别
⭐【Python】判断字符串 str 是否为空