字典的排序有以下情况
1.按键排序:输出键值对、键、值
2.按值排序:序:输出键值对、键、值
善用sorted函数:
sorted(iterable, key=None, reverse=False默认升序)
用法:对所有可迭代的对象进行排序操作,默认升序。返回列表。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
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'}
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'}