2 列表与元组(4)

本文详细介绍了Python中列表的reverse和sort方法,包括它们如何改变原列表以及注意事项。还讨论了高级排序,包括自定义比较函数、key参数和reverse参数的使用。最后提到了sorted函数及其特性。
摘要由CSDN通过智能技术生成

2.3.3 列表方法

目录

2.3.3 列表方法

8. reverse

9. sort

10. 高级排序

下一节:元组和小结


接上一章

8. reverse

reserve方法将列表中的元素反向存放

>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]

Ps:该方法也改变了列表但不返回值(像remove和sort,目前只遇到pop()会返回值)

提示:如果需要对一个序列进行反向迭代,就可以使用reversed函数,这个函数并不返回一个列表,而是返回一个迭代器(iterator)对象。尽管如此,采用list函数把返回的对象转换成列表也是可行的。

>>> x = [1,2,3]
>>> list(reversed(x))
[3, 2, 1]

如果使用x.reversed():报错了

>>> reversed(x)
<listreverseiterator object at 0x7ff33650e450>   #返回一个迭代器对象listreverseiterator

9. sort

Sort方法用于在原位置对列表进行排序。在“原位置排序”意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单地返回一个已排序的列表副本。

>>> x = [4,6,2,1,7,9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]

前面的append、insert、remove等不返回值的方法,在大多数情况下这样的方式是很合常理的。但是sort方法的这种行为要重点讲解一下,因为很多人被sort方法弄糊涂了:当用户需要一个排好序的列表副本,同时又保留原有列表不变的时候,问题就出现了。为了实现这个功能,我们自然而然想到了下列做法(实际是错误的)

>>> x = [4,6,2,1,7,9]
>>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值