operator模块

itemgetter

字典列表进行排序


rows = [
{'fname': 'Brian', 'lname': 'Jones', 'uid': 1003},
{'fname': 'David', 'lname': 'Beazley', 'uid': 1002},
{'fname': 'John', 'lname': 'Cleese', 'uid': 1001},
{'fname': 'Big', 'lname': 'Jones', 'uid': 1004}
]


from operator import itemgetter
import pprint


rows_by_fname = sorted(rows, key=lambda x: x['fname'])
rows_by_fname_ir = sorted(rows, key=itemgetter('fname'))
min_item = min(rows, key=itemgetter('fname'))
max_item = max(rows, key=itemgetter('fname'))
pprint.pprint(rows_by_fname)
pprint.pprint(rows_by_fname)
print(min_item)
print(max_item)

 

attrgetter

排序不支持原生比较的对象

 

posted @ 2020-04-08 14:23  择一事,终一生  阅读(141)  评论(0)    收藏  举报