字典的排序有以下情况
1.按键排序:输出键值对、键、值
2.按值排序:序:输出键值对、键、值
善用sorted函数:
sorted(iterable, key=None, reverse=False默认升序)
用法:对所有可迭代的对象进行排序操作,默认升序。返回列表。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
1.按键排序:输出键值对、键、值
eg = {1: 'D', 3: 'B', 2: 'B',4: 'E', 5: 'A'}
#1. 按键排序:输出键值对、键、值
#1.1 按键排序:输出键
a = sorted(eg.keys()) # sorted(eg)
print(a)
#>>> [1, 2, 3, 4, 5]
#1.2 按键排序:输出值
b = []
for key in sorted(eg):
b.append(eg[key])
print(b)
#>>> ['D', 'B', 'B', 'E', 'A']
b1 = sorted(eg.items(), key = lambda e:e[0])
b2 = []
for i in b1:
b2.append(i[1])
print(b2)
#>>>['D', 'B', 'B', 'E', 'A']
#1.3 按键排序:输出键值对,元组列表 形式
c = sorted(eg.items())
print(c)
#>>> [(1, 'D'), (2, 'B'), (3, 'B'), (4, 'E'), (5, 'A')]
#1.4 按键排序:输出键值对,字典 形式
d = {}
for key in sorted(eg):
d[key]=eg[key]
print(d)
#>>> {1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}
2.按值排序:序:输出键值对、键、值
eg = {1: 'D', 3: 'B', 2: 'B',4: 'E', 5: 'A'}、
#2. 按值排序:输出键值对、键、值
#2.1 按值排序:输出键,#元组列表形式
e = sorted(eg.items(), key = lambda e:e[1])
e1 = []
for i in e:
e1.append(i[0])
print(e1)
#>>> [5, 3, 2, 1, 4]
#2.2 按值排序:输出值
f = sorted(eg.values())
print(f)
#>>> ['A', 'B', 'B', 'D', 'E']
#2.3 按值排序:输出键值对,元组列表 形式
g = sorted(eg.items(), key = lambda e:e[1])
print(g)
#>>> [(5, 'A'), (3, 'B'), (2, 'B'), (1, 'D'), (4, 'E')]
#2.4 按值排序:输出键值对,字典 形式
h = sorted(eg.items(), key = lambda e:e[1])
h1 = {}
for i in h:
h1[i[0]] = i[1]
print(h1)
#>>> {5: 'A', 3: 'B', 2: 'B', 1: 'D', 4: 'E'}