自由式学习
1人加入学习
(0人评价)
Python基础知识-pycharm版
价格 免费

038.列表。排序。revered逆序。max。min。sum

列表排序

修改原列表,不建新列表

1、升序排列

>>> a=[10,30,20,40,50,0,80,55]
>>> id(a)
47161752
>>> a.sort()#默认升序排列
>>> a
[0, 10, 20, 30, 40, 50, 55, 80]
>>> id(a)
47161752

2、降序排列

>>> a=[10,30,20,40,50,0,80,55]
>>> a.sort(reverse=True)#降序排列
>>> a
[80, 55, 50, 40, 30, 20, 10, 0]

3、随机排序

需要导入随机模块。

>>> import random #引入随机模块
>>> random.shuffle(a) #随机打乱顺序,可以用做洗牌
>>> a
[10, 30, 40, 50, 80, 20, 55, 0]
>>> random.shuffle(a) #打乱顺序
>>> a

创建新列表的排序

可以通过内置函数sorted()进行排序,会生成新的列表对象,对原有列表不做修改。

>>> a=[10,30,20,40,50,0,80,55]
>>> id(a)
19855120
>>> a=sorted(a)#默认升序排列
>>> a
[0, 10, 20, 30, 40, 50, 55, 80]
>>> id(a)
19854600
>>> c=sorted(a,reverse=True)#加反转,变降序
>>> c
[80, 55, 50, 40, 30, 20, 10, 0]

reversed()返回迭代器

内置函数reversed()也支持逆序排列,不对原列表做修改,返回逆序排列的迭代器。

迭代器是一个指针,从屁股后面往前指。

>>> a=[10,30,20,40,50,0,80,55]
>>> c=reversed(a)#c是迭代器
>>> c
<list_reverseiterator object at 0x02CEAE10>
>>> list(c)#用list函数转成列表
[55, 80, 0, 50, 40, 20, 30, 10]
>>> list(c)#迭代器只能用一次
[]

列表相关其他内置函数汇总

max和min

用于返回最大值和最小值。

>>> a=[10,30,20,40,50,0,80,55]
>>> max(a)
80
>>> min(a)
0
>>> a

sum求和

对数值型列表所有元素进行求和,对非数值型列表运算会报错。

>>> a=[10,30,20,40,50,0,80,55]
>>> sum(a)
285
>>> b=['a','c','f']
>>> sum(b)#非数值型列表会报错
Traceback (most recent call last):
  File "<pyshell#123>", line 1, in <module>
    sum(b)#非数值型列表会报错
TypeError: unsupported operand type(s) for +: 'int' and 'str'
[展开全文]

授课教师

高级算法工程师
老师

课程特色

图文(1)
视频(152)
考试(10)

最新学员