python中列表排序的方法

Posted 清风0815

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
[]

 

以上是关于python中列表排序的方法的主要内容,如果未能解决你的问题,请参考以下文章

Python列表排序 reversesortsorted 操作方法详解

python 列表排序方法reversesortsorted基础篇

Python中,如何给列表排序?

python中列表排序的方法

Python 列表排序方法reversesortsorted详解

在python中以某列为分组对象还能对某列进行依次排序吗