字典的排序有以下情况

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'}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐