list排序sort降序_Python如何实现对列表的排序

2023-05-16

前两天有给大家分享到关于python列表的一些小知识。 Python中遍历列表方法知多少python列表的经典案列 在实际开发中,关于对列表的排序我们也会经常遇到。python为我们提供了两种关于对列表的排序方法。一起来看看。

使用列表对象的sort()方法实现

a9a52efe5b008cfb89e42f6b89e25cf7.gif sort方法语法格式:
listname.sort(key = none,reverse = False)
参数说明: 2cf678fe9ab847cf9d035babc6dd9797.png

listname: 表示要排序的列表

key: 表示在指定列表选择一个用于比较的键,如果设置 'key = str.lower' ,则表示在排序的时候不区分大小写。

reverse:可选参数,如果将其指定为True,表示降序排列,如果为False,则表示为升序排列

2c547cc18e7a0203f5bf7657c4b89460.png 例如:
grade = [85,56,95,45,73,81,83,64,92,77]print('原列表',grade)grade.sort()print('升序',grade)grade.sort(reverse=True)print('降序',grade)
执行上述代码结果如下:
原列表 [85, 56, 95, 45, 73, 81, 83, 64, 92, 77]升序 [45, 56, 64, 73, 77, 81, 83, 85, 92, 95]降序 [95, 92, 85, 83, 81, 77, 73, 64, 56, 45]
af840b4f2a7849cbd253627369e853dd.gif

使用sort()方法排序比较简单,但是使用sort()方法对字符串列表排序的时候,采用的是大写优先原则,就是说先按照大写字母顺序排列,再按照小写字母顺序排列。是否按照大小写顺序排列主要取决于参数key,下面请细看示例。

20498d0d62e9ad490419894909bd65f3.png
NBA = ['Bryant','James','curry','durant']print('原列表',NBA)NBA.sort()print('区分大小写',NBA)NBA.sort(key = str.lower)print('不区分大小写',NBA)
执行上述代码结果如下:
原列表 ['Bryant', 'James', 'curry', 'durant']区分大小写 ['Bryant', 'James', 'curry', 'durant']不区分大小写 ['Bryant', 'curry', 'durant', 'James']
说明: a71ff1c071421e469cddb583d5f3d87f.png

采用sort()方法排序时,对中文支持不友好,排序的结果和我们平时的笔画或者拼音都是不一样的,如果想要实现对中文列表的排序,就需要自己手动写方法来实现。

9975cdf0a1b2f57bac24c5471b16837c.png

使用内置函数sorted()函数实现

a9a52efe5b008cfb89e42f6b89e25cf7.gif

在python中还带有一个内置的sortd()函数,首先来看看他的语法格式:

sorted(intrable, key = None, revrese = False
参数说明: ada86db9250d06072877dd2e39e9a1b0.png

intrable: 表示要排序的列表名称

key: 表示在指定列表选择一个用于比较的键,如果设置 'key = str.lower' ,则表示在排序的时候不区分大小写。

revrese:可选参数,如果将其指定为True,表示降序排列,如果为False,则表示为升序排列

例如:

grade = [85,56,95,45,73,81,83,64,92,77]print('原列表',grade)grade.sort()print('升序',grade)grade.sort(reverse=True)print('降序',grade)
执行上述代码结果如下:
原列表 [85, 56, 95, 45, 73, 81, 83, 64, 92, 77]升序 [45, 56, 64, 73, 77, 81, 83, 85, 92, 95]降序 [95, 92, 85, 83, 81, 77, 73, 64, 56, 45]

说明:

列表对象的sort()方法和内置函数sorted()方法基本相同,不同之处就在于

sort方法会在原list上直接进行排序,不会创建新的list。而sorted方法不会对原来的数据做任何改动,排序后的结果是新生成的。

如果我们不需要原来的数据而且数据是list类型,可以用sort方法,能够节省空间。否则要用sorted方法。

6de9d86b802c365bf5ffd3b955bc8856.png

总的来说就是sorted方法不会对原来的数据做任何改动,排序后的结果是新生成的。所以sorted会返回一个排序过的列表!

今日推荐 3da1a4d1be196880a2c92ef3f36c3294.png

remove、del和 pop 有什么区别?

fea5971ab9e5080eecc51cca4a9991ac.png

关于Python切片问题!

63fd2f28103b54810ee243d926990060.png

Python解释器种类以及特点?

8e357cb27cf436434eb762f0ce796927.png

Python对文件的操作,我不允许你还不知道

50ffcb728192a5e080c11278abb50e84.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

list排序sort降序_Python如何实现对列表的排序 的相关文章

随机推荐