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