Python3_关于列表排序


列表排序有两种方式,一种是列表自带的方式sort,一种是内建函数sorted。复杂的数据类型可通过指定key参数进行排序。

由字典构成的列表,根据字典元素中的age字段进行排序:

1 items=[{'name':'Tom','age':10},
2        {'name':'jack','age':20},
3        {'name':'bart','age':12},
4        {'name':'cater','age':24}]
5 items.sort(key=lambda item:item.get("age"))
6 print(items)
1 [{'name': 'Tom', 'age': 10}, {'name': 'bart', 'age': 12}, {'name': 'jack', 'age': 20}, {'name': 'cater', 'age': 24}]

列表有 sort方法,用于对原列表进行重新排序,指定 key 参数,key 是匿名函数,item 是列表中的字典元素,我们根据字典中的

age进行排序,默认是按升序排列,指定 reverse=True 按降序排列

items.sort(key=lambda item:item.get("age"),reverse=True)

如果不希望改变原列表,而是生成一个新的有序列表对象,那么可以内置函数 sorted ,该函数返回新列表

items=[{'name':'Tom','age':10},
       {'name':'jack','age':20},
       {'name':'bart','age':12},
       {'name':'cater','age':24}]
#items.sort(key=lambda item:item.get("age"),reverse=True)
new_items=sorted(items,key=lambda item:item.get("age"),reverse=True)
print(items)
print(new_items)
[{'name': 'Tom', 'age': 10}, {'name': 'jack', 'age': 20}, {'name': 'bart', 'age': 12}, {'name': 'cater', 'age': 24}]
[{'name': 'cater', 'age': 24}, {'name': 'jack', 'age': 20}, {'name': 'bart', 'age': 12}, {'name': 'Tom', 'age': 10}]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM