程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python 中的 list.sort() 和 sorted() 有什麼區別?

編輯:Python

Python 提供了兩種對列表進行排序的方法,內置列表方法list.sort()和內置函數sorted()。盡管兩者都會對列表的元素進行排序,但如果使用不當,它們可能會產生意外或不希望的結果。

異同

兩者之間的主要區別在於list.sort()將對列表進行就地排序,改變其索引並返回None,而sorted()將返回一個新的排序列表,而原始列表保持不變。另一個區別是sorted()接受任何可迭代的 whilelist.sort()list類的方法,並且只能與列表一起使用。

nums = [2, 3, 1, 5, 6, 4, 0]
print(sorted(nums)) # [0, 1, 2, 3, 4, 5, 6]
print(nums) # [2, 3, 1, 5, 6, 4, 0]
print(nums.sort()) # None
print(nums) # [0, 1, 2, 3, 4, 5, 6]

兩者list.sort()sorted()都具有相同的key可選reverse參數,並且可以在進行比較之前在每個列表元素上調用。

何時使用每一個

list.sort()應該在想要改變列表並且不需要檢索元素的原始順序時使用。另一方面,sorted()當要排序的對象是一個可迭代對象(例如列表、元組、字典、字符串)並且期望的結果是一個包含所有元素的排序列表時,應該使用它。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved