python列表排序

前言

在很多时候我们创建的列表是无法预测或者确定元素的排列顺序的,元素之间混乱的排列是无法避免的,但我们却又经常需要以特定的顺序呈现信息。对此,Python提供了很多组织列表的表达方式。

永久排序

sort() 方法对列表进行永久性的排序,排序后列表再也无法回到原来的排列顺序。

  • 正向排序。
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort()
print("排序后:", fruits)

在这里插入图片描述

  • 逆向排序。
    上面的代码是对列表元素进行了一个正向排序,如果要求是按逆向排序呢?我们只需在sort() 方法内部传递参数 reverse=True 即可。
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort(reverse=True)
print("排序后:", fruits)

在这里插入图片描述
当然,正向排序也可以传递参数来实现:

fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort(reverse=False)
print("排序后:", fruits)

在这里插入图片描述
示例用的元素为字母,元素为数字时也是一样:

numbers = [23, 89, 42, 56, 12]
print("排序前:", numbers)
numbers.sort()
print("排序后:", numbers)

在这里插入图片描述

临时排序

有时候我们以特定顺序对列表排序后,要保留列表元素原来的排列顺序,这时就要用到 sorted() 方法。
函数 sorted() 按照特定顺序显示列表元素后,同时不影响他们在列表中的原始排列顺序。

  • 正向排序
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("原列表:", fruits)
print("临时排序:", sorted(fruits))
print("再次输出列表:", fruits)

在这里插入图片描述

  • 逆向排序
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("原列表:", fruits)
print("临时逆向排序:", sorted(fruits, reverse=True))
print("再次输出列表:", fruits)

在这里插入图片描述
临时排序和永久排序只是在函数的使用上不同,永久排序用的是 sort() ,而临时排序用的是 sorted() 。在使用方法上两者均相同。

反转列表元素顺序

reverse() 方法是将列表的元素进行一个整体的反转,即倒着将元素打印出来。reverse() 同样是永久地修改列表元素的排列顺序,但也可以随时将排列顺序进行恢复,只需要再次进行调用即可。

fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("反转前:", fruits)
fruits.reverse()
print("反转后:", fruits)
fruits.reverse()
print("再次调用:", fruits)

在这里插入图片描述
注意:reverse() 方法不是按与字母顺序相反的顺序排列列表中的元素,而是仅仅对列表元素的排列顺序进行反转。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值