gpt4 book ai didi

Python教程通过公共键对不同字典进行排序示例详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python教程通过公共键对不同字典进行排序示例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

利用 operator 模块中的 itemgetter 函数对这类结构进行排序.

?
1
2
3
4
5
6
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 }
]

根据所有字典中共有的字段进行排序,字段可以是字典的键名称、用数字表示的列表元素或是任何可以传给对象的 __getitem__() 方法的值.

如果传多个标记给 itemgetter(),那么它产生的可调用对象将返回以个包含所有元素在内的元组,然后 sorted() 将根据对元组的排序结果来排序输出的结果.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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'}]

当 itemgetter() 函数接受多个键时 。

?
1
2
3
4
5
6
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() 函数 。

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

以上就是Python教程通过公共键对不同字典进行排序示例详解的详细内容,更多关于Python公共键对字典进行排序的资料请关注我其它相关文章! 。

原文链接:https://blog.csdn.net/chenyuhuaxin/article/details/100585897 。

最后此篇关于Python教程通过公共键对不同字典进行排序示例详解的文章就讲到这里了,如果你想了解更多关于Python教程通过公共键对不同字典进行排序示例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com