Python 第三节 第九课
[toc]
列表的排序
修改原列表, 不建新列表的排序
>>> a = [20, 10, 30, 40]
>>> id(a)
46017416
>>> a.sort() #默认是升序排列
>>> a
[10, 20, 30, 40]
>>> a = [10, 20, 30, 40]
>>> a.sort(reverse = True) #默认是降序排列
>>> a
[40, 30, 20, 10]
>>> import random
>>> random.shuffle(a) #打乱顺序
>>> a
[20, 40, 30, 10]
建新列表的排序
我们也可以通过内置函数 sorted() 进行排序, 这个方法返回新列表, 不对原列表做修改.
>>> a = [20, 10, 30, 40]
>>> id(a)
46016008
>>> a = sorted(a) #默认升序
>>> a
[10, 20, 30, 40]
>>> id(a)
45907848
通过上面的操作, 我们可以看出, 生成的列表对象 b 和 c 都是完全新的列表对象.
reverse() 返回迭代器
内置函数 reversed() 也支持进行逆序排序, 与列表对象 reverse() 方法不同的是, 内置函数 reversed() 不对原列表做任何修改, 只是返回一个逆序排列的迭代器对象.
>>> a = [20, 10, 430, 40]
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x00000172411555F8>
>>> list(c)
[40, 30, 10, 20]
>>> list(c)
[]
我们打印输出 c 发现提示是: list_reverseiterator. 也就是一个迭代对象. 同时, 我们使用 list(c) 进行输出, 发现只能用一次. 第一次输出了元素, 第二次为空. 那是因为迭代对象在第一次时已经遍历结束了, 第二次不能再使用.
列表相关的其他内置函数汇总
max 和 min
用于返回列表中最大和最小值.
>>> a = [3, 10, 20, 10]
>>> max(a)
20
>>> min(a)
3
sum
对数值型列表的所有元素进行就和操作, 对非数值型列表运算则会报错.
>>> a = [3, 10, 20, 15, 9]
>>> sum(a)
57
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/108823936
- 点赞
- 收藏
- 关注作者
评论(0)