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