【Python-2.7】对列表进行排序

本文将会提及到三种对列表的排序方式,sort()、sorted()及reverse(),并会对它们的不同点进行比较。

1.  sort()

使用sort()进行的排序是永久性的,列表被排序后不能恢复到排序前的状态。如:

#创建superman列表如下
>>> superman = ['LiuBei','GuanYu','ZhangFei','SunQuan']
>>> superman
['LiuBei', 'GuanYu', 'ZhangFei', 'SunQuan']

#使用sort()进行排序后,superman列表已发生永久变化
>>> superman.sort()
>>> print(superman)
['GuanYu', 'LiuBei', 'SunQuan', 'ZhangFei']

#可在sort()中加入参数reverse=True,实现反向排序
>>> superman.sort(reverse=True)
>>> print(superman)
['ZhangFei', 'SunQuan', 'LiuBei', 'GuanYu']


2. sorted()

使用sorted()进行的排序是临时性的。

#创建superman列表如下
>>> superman = ['LiuBei','GuanYu','ZhangFei','SunQuan']

#使用sorted()进行临时排序
>>> print (sorted(superman))
['GuanYu', 'LiuBei', 'SunQuan', 'ZhangFei']

#再次打印superman列表,顺序没有发生改变
>>> print (superman)
['LiuBei', 'GuanYu', 'ZhangFei', 'SunQuan']

#sorted()中也可以加入参数reverse=True进行反向排序
>>> print (sorted(superman,reverse=True))
['ZhangFei', 'SunQuan', 'LiuBei', 'GuanYu']


3. reverse()

reverse()只是把列表元素顺序倒置,不会根据字母排序

#创建superman列表如下
>>> superman = ['LiuBei','GuanYu','ZhangFei','SunQuan']

#使用reverse()进行反向打印
>>> superman.reverse()
>>> print (superman)
['SunQuan', 'ZhangFei', 'GuanYu', 'LiuBei']

总结:sort()和sorted()都是根据字母顺序进行排序,不同点在于,sort()是永久性的而sorted()是临时性的。reverse()严格来说不是一种排序方式,它只是把列表元素倒着打印一遍,并不会根据字母进行排序。reverse()对列表的操作也是永久性的,要想恢复,再次使用reverse()就可以了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值