26 lines
833 B
Python
26 lines
833 B
Python
# 我们有一个字典列表,想要按照字典里的某些键对列表进行排序
|
||
# 字典列表如下:
|
||
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}
|
||
]
|
||
|
||
# 这时候用到itemgetter模块
|
||
from operator import itemgetter
|
||
|
||
# itemgetter的主要功能是通过可查询的标记进行数据获取;
|
||
# 下面分别根据fname和uid进行数据获取
|
||
|
||
rows_by_fname = sorted(rows, key=itemgetter("fname"))
|
||
rows_by_uid = sorted(rows, key=itemgetter("uid"))
|
||
|
||
print(rows_by_fname)
|
||
print(rows_by_uid)
|
||
|
||
# 当然,itemgetter也能被lambda函数替代,替代操作如下:
|
||
|
||
rows_by_fname_v2 = sorted(rows, key= lambda row: row["fname"])
|
||
print(rows_by_fname_v2)
|