只有把一个语言中的常用函数了如指掌了,才能在处理问题的过程中得心应手,快速地找到最优方案。
本文和你一起来探索Python中的sorted函数,让你以最短的时间明白这个函数的原理。
也可以利用碎片化的时间巩固这个函数,让你在处理工作过程中更高效。
sorted函数的定义
sorted函数实例
例1 sorted函数对列表进行排序
例2 sorted函数对元组进行排序
例3 sorted函数对字典进行排序
例4 sorted函数对集合进行排序
例5 sorted函数对字符串进行排序
sorted函数和sort函数的区别

sorted函数是Python中常用的内置函数,调用无需加载库,直接使用即可。
它主要用来对序列(列表、元组、字典、集合、字符串)进行排序。
其基本调用语法如下:
sorted(iterable, /, *, key=None, reverse=False)iterable:待排序的序列。
key:排序规则。 reverse:指定排序的方式,默认值False,即升序排列。
二、sorted函数实例 例1:sorted函数对列表进行排序
我们先来看下sorted函数使用默认参数对列表进行排序的结果,代码如下:
a = [6, 5, 1, 2, 4]print(sorted(a))print(a)得到结果:
[1, 2, 4, 5, 6][6, 5, 1, 2, 4]从结果知,sorted函数在默认参数下对原序列进行了升序排列,并且没有在原序列上修改,重新生成了一个排好序的列表。
例2:sorted函数对元组进行排序
接着来看下sorted函数修改默认参数对元组进行排序的结果,代码如下:
a = (6, 5, 1, 2, 4)print(sorted(a, reverse=True))print(a)得到结果:
[](6, 5, 1, 2, 4)从结果知,在修改reverse参数为True的情况下,sorted函数对原序列进行了降序排列,生成了一个新的序列。
并且在原始序列为元组的情况下,生成的序列变成了列表。
例3:sorted函数对字典进行排序
接着来看下sorted函数对字典进行排序的结果,代码如下:
a = {7:'D', 2:'B', 3:'B', 4:'E', 5:'A'}print(sorted(a))print(a)得到结果:
[]{7: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}从结果知,在默认参数下sorted函数对字典的键进行了升序排列,生成了一个新的列表。
例4:sorted函数对集合进行排序
接着来看下sorted函数对集合进行排序的结果,代码如下:
a = {'葡萄', '火龙果', '释迦牟尼果', '开心果', '榴莲'}print(sorted(a, key=lambda x:len(x)))print(a)得到结果:
['葡萄', '榴莲', '火龙果', '开心果', '释迦牟尼果']{'释迦牟尼果', '火龙果', '葡萄', '榴莲', '开心果'}由于key设定了根据元素长度排序,reverse取默认值,故sorted函数对集合按照元素长度升序排列。
由于集合是无序的,所以在打印原始集合a时出现了和定义不一致的情况。
例5:sorted函数对字符串进行排序
接着来看下sorted函数对字符串进行排序的结果,代码如下:
a = 'enumerate'print(sorted(a))得到结果:
['a', 'e', 'e', 'e', 'm', 'n', 'r', 't', 'u']从结果知,默认参数下sorted函数对字符串进行排序,是把字符串拆成了一个一个字母,再按升序排列。
三、sorted函数和sort函数的区别 1.sort函数只能对列表进行排序,而sorted函数可用于对所有可迭代对象排序。
2.sort函数是在原列表上进行修改,而sorted函数会重新生成一个排好序的列表。
3.使用语法上有区别。
在前文中对sorted函数进行了详细的阐述,现在我们先来看下sort函数的使用方法,代码如下:
a = [6, 5, 1, 2, 4]a.sort()print(a)得到结果:
[1, 2, 4, 5, 6]从结果知,sort函数和soted函数在使用语法上有区别,sort函数对列表进行了排序,并且是在原列表上进行了修改。
为了大家看得更清晰,对比一下soted函数的使用方法,代码如下:
a = [6, 5, 1, 2, 4]print(sorted(a))print(a)得到结果:
[1, 2, 4, 5, 6][6, 5, 1, 2, 4]从结果知,sorted函数在默认参数下对原序列进行了升序排列,并且没有在原序列上修改,重新生成一个排好序的列表。
感兴趣的朋友也可以试下,sort函数只能对列表进行排序,对元组、字典、集合等其它序列排序会报错。
至此,Python中的sorted函数已讲解完毕,如想了解更多Python中的函数,可以翻看公众号中“学习Python”模块相关文章。


扫一扫关注我
13162366985
投稿微信号、手机号

