Python 第三节 第九课

举报
我是小白呀iamarookie 发表于 2021/09/10 00:57:16 2021/09/10
【摘要】 [toc]  列表的排序 修改原列表, 不建新列表的排序 >>> a = [20, 10, 30, 40] >>> id(a) 46017416 >>> a.sort()      #默认是升序排列 >>> a&...

[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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。