Python 字典列表,根据字段字段进行排序。

编程入门 行业动态 更新时间:2024-10-25 10:26:45

Python 字典列表,根据<a href=https://www.elefans.com/category/jswz/34/1771443.html style=字段字段进行排序。"/>

Python 字典列表,根据字段字段进行排序。

对字典列表进行排序

from operator import itemgetter# 有如下一个列表,我们需要给其中的字典进行排序,比如根据uid排序
rows = [{'name': 'Brian', 'id': 1003},{'name': 'David', 'id': 1002},{'name': 'John', 'id': 1001},{'name': 'Big', 'id': 1004},{'name': 'Ag', 'id': 1004}
]# 改变当前列表
# rows.sort(key = lambda r:r.get("uid"))
# print(rows)# 新建列表
# rows_by_id = sorted(rows,key = lambda r:r.get("id"))
# print(rows_by_id)# 使用lambda 根据id和name进行排序
# rows_by_id_name = sorted(rows, key=lambda r: (r['id'],r['name']))
# print(rows_by_id_name)# 使用operator中的itemgetter,根据id排序
# rows_by_id = sorted(rows, key=itemgetter('id'))
# print(rows_by_id )根据id和name排序
rows_by_id_name = sorted(rows, key=itemgetter('id','name'))
print(rows_by_id_name)

如果排序的不是列表中元素不是字典,而是一个自定义对象,根据对象的属性进行排序,同理。
使用 operator .attrgetter

from operator import attrgetterclass User:def __init__(self, user_id):self.user_id = user_iddef __repr__(self):return 'User({})'.format(self.user_id)def sort_notcompare():users = [User(23), User(3), User(99)]# print(users)# print(sorted(users, key=lambda u: u.user_id))print(users)print(sorted(users, key=attrgetter('user_id')))if __name__ == "__main__":sort_notcompare()

更多推荐

Python 字典列表,根据字段字段进行排序。

本文发布于:2024-03-05 03:49:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1711233.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   字典   列表   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!