sorted
Topic source@用户3627907223
dict 本身是无序数据结构,只有转成 list 后再排序才有意义。
代码:
L = {'bob': 75, 'Adam': 92, 'Bort': 66, 'lisa': 88}
普通方法实现:
def byName(_n):
return _n[0].lower()
def byScore(_s):
return _s[1]
print('By Name :', sorted(L.items(), key = byName))
print('By Score:', sorted(L.items(), key = byScore))
一行代码简写:
print('Simply :', sorted(L.items(), key = lambda n : n[0].lower()))
打印结果:
By Name : [('Adam', 92), ('bob', 75), ('Bort', 66), ('lisa', 88)]
By Score: [('Bort', 66), ('bob', 75), ('lisa', 88), ('Adam', 92)]
Simply : [('Adam', 92), ('bob', 75), ('Bort', 66), ('lisa', 88)]
- 1
婷婷_wuawuahoo
def by_score(t): return t[1]
L2 = sorted(L,key=by_score,reverse=True)