python中列表排序的方法


1、修改原始列表,不建新列表的排序

  直接調用列表的sort()方法進行排序

>>> id(a)
2864146375752
>>> a.sort()
>>> a
[5, 10, 20, 30]
>>> id(a)
2864146375752

>>> a.sort(reverse=True)
>>> a
[30, 20, 10, 5]

>>> id(a)
2864146375752

 

# 打亂順序

>>> import random
>>> random.shuffle(a)
>>> a
[20, 10, 30, 5]

>>> id(a)
2864146375752

2、創建新的列表,原列表不變

  使用內置函數sorted()進行排序

>>> id(a)
2864146375752

>>> a = sorted(a)
>>> a
[5, 10, 20, 30]
>>> id(a)
2864146621960

 

 

3、reversed()返回迭代器

內置函數reversed()也支持對列表進行逆序排列,與列表對象方法reverse()不同的是,

內置函數reversed()不對原列表做任何修改,只是返回一個逆序排列的迭代器對象,且該迭代器對象只能使用一次。

>>> c = [20,10,40,4]
>>> a = reversed(c)
>>> a
<list_reverseiterator object at 0x0000029ADC715828>
>>> list(a)
[4, 40, 10, 20]
>>> list(a)
[]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM