WordPress课程广告

Python sort()函数详解 – Python列表排序函数

释放双眼,带上耳机,听听看~!

Python sort()函数介绍

sort()函数是Python 列表的一个方法,是python中的内置函数,sort()函数可以对列表进行就地排序。

只使用<来比较项之间的关系。如果任何比较操作失败,异常将不会被屏蔽(在排序过程中发生任何比较操作失败的异常,该异常将会被抛出,而不会被程序自动处理或忽略。) – 如果任何比较操作失败,整个排序操作将失败(并且列表可能会处于部分修改的状态)。

sort()方法语法:

sort(key=None, reverse=False)

参数

sort() 接受两个仅限以关键字形式传入的参数 (仅限关键字参数),这两个参数是可选的:

key 指定带有一个参数的函数,用于从每个列表元素中提取比较键 (例如 key=str.lower)。 对应于列表中每一项的键会被计算一次,然后在整个排序过程中使用。 默认值 None 表示直接对列表项排序而不计算一个单独的键值。

reverse 排序规则,为一个布尔值。 reverse = True 降序, reverse = False 升序(默认)。

返回值

该方法没有返回值,但是会对列表的对象进行排序。

实例

简单使用

x = [8,9,0,7,4,5,1,2,3,6]
x.sort()
print(x)

输出结果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

sort()降序排序

函数sort() 默认情况下 是升序排序,进行降序排序,需要用到函数reverse()

x = [8,9,0,7,4,5,1,2,3,6]
x.sort()
x.reverse()
print(x)

输出结果

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

对于字符串,默认是按照字母进行排序:

my_list = ['apple', 'date', 'banana', 'cherry']
my_list.sort()
print(my_list)

输出结果

['apple', 'banana', 'cherry', 'date']

开头字母相同,则比较第二个字母

my_list = ['apple', 'banana', 'cherry', 'date', 'abcdefg']
my_list.sort()
print(my_list)

输出结果

['abcdefg', 'apple', 'banana', 'cherry', 'date']

key参数

可选。

指定排序标准的函数。key接受的是一个只有一个形参的函数

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

将字符串的长度进行排序,可以使用sort()函数并将len函数作为key参数传入:

my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=len)
print(my_list)

输出结果

['date', 'apple', 'banana', 'cherry']

reverse参数

可选。

reverse接受的是一个bool类型的值 (Ture or False),表示排列顺序。

reverse=False 将对列表进行升序排序(默认)。

reverse=True 将对列表进行降序排序。

x = [8,9,0,7,4,5,1,2,3,6]
x.sort(reverse=True)
print(x)
x.sort(reverse=False)
print(x)

输出结果

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

sort()和sorted()的区别

sorted()介绍文章:Python3 sorted() 函数 – 对所有可迭代的对象进行排序操作。

sort应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

实例

函数sort()修改序列,不返回任何值

x = [8,9,0,7,4,5,1,2,3,6]
y = x.sort()
print(y)
print(x)

输出结果

None
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

sorted()函数 返回一个排序列表,不改变原有序列

x = [8,9,0,7,4,5,1,2,3,6]
y = sorted(x)
print(y)
print(x)

输出结果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[8, 9, 0, 7, 4, 5, 1, 2, 3, 6]

官方文档

内置类型 — Python 3.9.19 文档 #sort(*, key=None, reverse=False)

给TA打赏
共{{data.count}}人
人已打赏
Python内置函数Python列表Python字典Python笔记

Python3 sorted() 函数 - 对所有可迭代的对象进行排序操作

2022-7-22 23:52:12

Python列表Python字典Python笔记

Python Counter()函数介绍 - 统计值出现的次数

2022-7-23 11:53:58

WordPress网站建设宣传图片
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
展开目录