鱼C论坛

 找回密码
 立即注册
查看: 2921|回复: 0

[学习笔记] python列表排序之sort(),sorted()和reverse()

[复制链接]
发表于 2021-5-17 22:45:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
sort()
正序
sort()可以按字母的顺序来对列表进行永久性排序(改变列表自身的排序):
  1. list_1 = ['one', 'two', 'three', 'four', 'five']
  2. print(list_1)

  3. list_1.sort()
  4. print(list_1)
复制代码

现在list_1列表中有几个首字母相同的元素,那是怎么排序的呢?
  1. ['one', 'two', 'three', 'four', 'five']
  2. ['five', 'four', 'one', 'three', 'two']
复制代码

我们可以看出,当首字母一样时,sort()会自动识别第二个字母的顺序来进行排序,以此类推
逆序
既然有正着来,我们当然也可以反着来排序,不然sort()后面的括号拿来好看的吗,哈哈哈
我们这里只需要向sor()方法传递参数reverse=True即可
  1. list_1 = ['one', 'two', 'three', 'four', 'five']
  2. print(list_1)

  3. list_1.sort(reverse=True)
  4. print(list_1)
复制代码

同样的,这样操作对列表也是永久性的
  1. ['one', 'two', 'three', 'four', 'five']
  2. ['two', 'three', 'one', 'four', 'five']
复制代码

sorted()
当我们需要保留原列表的排序顺序时,可以使用sorted(),如:
  1. list_1 = ['one', 'two', 'three', 'four', 'five']
  2. print(list_1)

  3. print(sorted(list_1))

  4. print(list_1)
复制代码

我们首先打印出这个列表,然后使用sorted()进行排序打印,然后再次打印这个列表
  1. ['one', 'two', 'three', 'four', 'five']
  2. ['five', 'four', 'one', 'three', 'two']
  3. ['one', 'two', 'three', 'four', 'five']
复制代码

注意!!!这里原列表的顺序并没有改变
如果我们需要逆序打印,操作如sort()的逆序打印
reverse()
要反转,注意!!!是反转打印列表,我们则用reverse()
  1. list_1 = ['one', 'two', 'three', 'four', 'five']
  2. print(list_1)

  3. list_1.reverse()
  4. print(list_1)
复制代码

注意,方法reverse()不是按字母顺序相反来排序,只是单纯的反转列表中的元素顺序
并且是永久性修改顺序,但是连续使用两次此函数就可以恢复原理啊的排列顺序
  1. ['one', 'two', 'three', 'four', 'five']
  2. ['five', 'four', 'three', 'two', 'one']
复制代码









小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-7 08:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表