python列表和字典排序(sort和sorted區別)
阿新 • • 發佈:2018-12-03
sort和sorted區別:
1、sort是應用在list上的,而sorted可應用於任何可迭代的物件上;
2、list的sort方法是在原始list上操作,而sorted返回新的list;
3、sort使用ls.sort(),而sorted使用sorted(ls);
語法:
sorted(dic.iteritems(), key=lambda d:d[1], reverse=False)
dic.iteritems() //返回一個元組(tuple),每個tuple對應一對(key,value)
key=lambda d:d[1] //按照上述返回元組的哪一維排序,此處的 'd' 可任意換為其它的字母
reverse=false //升序排 reserve=true //反序排
L.sort(key=lambda x:x[1],reserve=True)
例項:
sorted舉例: dic={'a':31,'b':21,'c':3,'33':56,'d':0} print(sorted(dic.items(), key=lambda a:a[0])) print(sorted(dic.items(), key=lambda a:a[1])) print(sorted(dic.items(), key=lambda a:a[0], reverse = False)) 輸出: [('33', 56), ('a', 31), ('b', 21), ('c', 3), ('d', 0)] [('d', 0), ('c', 3), ('b', 21), ('a', 31), ('33', 56)] [('33', 56), ('a', 31), ('b', 21), ('c', 3), ('d', 0)] sort舉例: L=[('a',1),('b',3), ('e',2),('d',7),('c',5)] L.sort(key=lambda x:x[0], reverse=True) print(L) 輸出:[('e', 2), ('d', 7), ('c', 5), ('b', 3), ('a', 1)]