sorted函数:sorted(iterable,key,reverse)
以下返回值都是单一的key值排列或者value值排列,默认升序,将reverse设置为True则是降序即反转
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>>sorted(d.keys()) ['Bob', 'Michael', 'Tracy'] >>>sorted(d.values()) [75, 85, 95] >>>sorted(d) ['Bob', 'Michael', 'Tracy']#默认就是根据key值排序 >>>sorted(d,key=lambda x: d[x])#根据value值的大小对key排序 ['Bob', 'Tracy', 'Michael']以下返回值是既包含key又包含value的列表,与上面的区别就是sorted的第一个参数不是d而是d.items(),d.items会把d变成一个可迭代对象.
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>>d.items() dict_items([('Michael', 95), ('Bob', 75), ('Tracy', 85)]) >>>sorted(d.items(),key=lambda x : x[1]) [('Bob', 75), ('Tracy', 85), ('Michael', 95)] >>>d = {'data1':3,'da':1,'dat':2,'data22':4,'aa':3,'ff':0} >>>sorted(d.items(),key=lambda x :(x[1],x[0]))#对dict先根据value排序,value相等的根据key排序 [('ff', 0), ('da', 1), ('dat', 2), ('aa', 3), ('data1', 3), ('data22', 4)] sorted(d.items())#根据key值对整个dict排序 [('aa', 3), ('da', 1), ('dat', 2), ('data1', 3), ('data22', 4), ('ff', 0)]————————————————————————————————
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} a=d.items() for k in a: print(k) for k,v in a: print(k,v) print(a)>>>>>>>
('Michael', 95)
('Bob', 75)
('Tracy', 85)
Michael 95
Bob 75
Tracy 85
dict_items([('Michael', 95), ('Bob', 75), ('Tracy', 85)])