python中的sort()、sorted()、以及reversed()

本文详细介绍了Python中列表排序及逆转的方法,包括sort(), sorted() 和 reverse() 函数的使用方式及其区别,并提供了实例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在写判断回文的时候遇到的逆转问题,一开始想到的是sort(),后来想到sort()函数的作用是按大小排序,而不是对顺序进行颠倒,所以用到了reversed(),写完后顺便看了下官方文档再来总结下这几个的用法。

sort(*,key=None,reverse=None):

sort()为对列表进行原地排序,没有返回值

sort接受两个参数,key参数可以让sort按照该参数标准进行排序,如key=len,按照长度进行排序;

a = ['java','c','python']
>>> a.sort(key=len)
>>> a
['c', 'java', 'python']

另一个参数是正序还是逆序,即大到小还是从小到大,当reverse为true时,为逆序,即从大到小,当为false时,为从小到大,默认为false
>>> a.sort(key=len,reverse=True)
>>> a
['python', 'java', 'c']


sorted(iterable[,key][,reverse]):

sorted()返回一个新的排序过的可迭代序列(此处为列表),key参数跟reverse参数同sort(),

>>> sorted(a,key=len,reverse=True)
['python', 'java', 'c']
>>> b = sorted(a,key=len,reverse=True)
>>> a == b
True
>>> a is b
False

可见,b是新建的对象


reverse():

reverse()在原列表的基础上进行颠倒操作,不会产生另外的列表,所以没有返回值

reversed(seq)返回一个新的可迭代对象,

>>> a
['python', 'java', 'c']
>>> a.reverse()
>>> a
['c', 'java', 'python']
>>> reversed(a)
<list_reverseiterator object at 0x0000000002B3BB70>

如果想查看返回的内容,可以用for遍历

>>> for each in reversed(a):
print(each)



python
java
c

对于倒序反转,其实还有一种方法就是切片,

b = a[开始位置 : 结束位置 : 步长]

此处进行了一个复制的操作,当步长为-1时,即复制一个逆转后的序列。

>>> a
['c', 'java', 'python']
>>> b = a[::-1]
>>> b
['python', 'java', 'c']



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值