欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python教程通過(guò)公共鍵對(duì)不同字典進(jìn)行排序示例詳解

 更新時(shí)間:2021年09月29日 09:49:25   作者:沉沉沉小姐  
本篇文章是Python教程基礎(chǔ)篇,通過(guò)一些示例為大家講解Python通過(guò)公共鍵對(duì)不同字典進(jìn)行排序的方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助

利用 operator 模塊中的 itemgetter 函數(shù)對(duì)這類結(jié)構(gòu)進(jìn)行排序。

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}
]

根據(jù)所有字典中共有的字段進(jìn)行排序,字段可以是字典的鍵名稱、用數(shù)字表示的列表元素或是任何可以傳給對(duì)象的 __getitem__() 方法的值。

如果傳多個(gè)標(biāo)記給 itemgetter(),那么它產(chǎn)生的可調(diào)用對(duì)象將返回以個(gè)包含所有元素在內(nèi)的元組,然后 sorted() 將根據(jù)對(duì)元組的排序結(jié)果來(lái)排序輸出的結(jié)果。

from operator import itemgetter
rows_by_fname = sorted(rows, key=itemgetter('fname'))
rows_by_uid = sorted(rows, key=itemgetter('uid')) 
print(rows_by_fname) 
# [{'fname': 'Big', 'uid': 1004, 'lname': 'Jones'},
# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'},
# {'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},
# {'fname': 'John', 'uid': 1001, 'lname': 'Cleese'}]
print(rows_by_uid) 
# [{'fname': 'John', 'uid': 1001, 'lname': 'Cleese'},
# {'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},
# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'},
# {'fname': 'Big', 'uid': 1004, 'lname': 'Jones'}]

當(dāng) itemgetter() 函數(shù)接受多個(gè)鍵時(shí)

rows_by_lfname = sorted(rows, key=itemgetter('lname', 'fname'))
print(rows_by_lfname)
# [{'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},
# {'fname': 'John', 'uid': 1001, 'lname': 'Cleese'},
# {'fname': 'Big', 'uid': 1004, 'lname': 'Jones'},
# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'}]

同樣 itemgetter() 也適用于 min() 和 max() 函數(shù)

>>> min(rows, key=itemgetter('uid'))
{'fname': 'John', 'lname': 'Cleese', 'uid': 1001}
>>> max(rows, key=itemgetter('uid'))
{'fname': 'Big', 'lname': 'Jones', 'uid': 1004}
 

以上就是Python教程通過(guò)公共鍵對(duì)不同字典進(jìn)行排序示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python公共鍵對(duì)字典進(jìn)行排序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論