一、Sort函数简介
Python中的内置函数sorted()和list.sort()都可以实现列表的排序,而其中sort()的排序效率更高,因为它是直接修改了原列表而非生成一个新的有序列表。下面我们将详细介绍Sort函数的用法及其实例。
二、Sort函数的用法和参数
在Python中,list的sort()函数可以接受三个参数:reverse,key和cmp。
- reverse:可选参数,reverse = True时表示降序排列,缺省时为升序排列;
- key:可选参数,根据列表元素的某个属性进行排序;
- cmp:对比函数,python3已经没有此参数。
三、Sort函数的实例
1、按照数字大小排列
<!--代码部分请保持代码的缩进和格式-->
a = [3, 4, 2, 8, 9, 5, 1, 2]
a.sort()
print(a)
# 输出结果:[1, 2, 2, 3, 4, 5, 8, 9]
在以上代码中,a将按照数字的大小进行升序排列,因此输出结果中,a中的元素按照从小到大的顺序排列。
2、按照数字大小降序排列
<!--代码部分请保持代码的缩进和格式-->
a = [3, 4, 2, 8, 9, 5, 1, 2]
a.sort(reverse=True)
print(a)
# 输出结果:[9, 8, 5, 4, 3, 2, 2, 1]
在以上代码中,通过将reverse参数设置为True,可以实现将元素按照从大到小的顺序排序。
3、按照字符串长度排列
<!--代码部分请保持代码的缩进和格式-->
a = ['aa', 'ccc', 'b', 'eee', 'dddd']
a.sort(key=len)
print(a)
# 输出结果:['b', 'aa', 'ccc', 'eee', 'dddd']
在以上代码中,通过设置key参数为len,可以实现将元素按照字符串长度从小到大的顺序排序。
4、按照字符串出现的频率排列
<!--代码部分请保持代码的缩进和格式-->
a = ['aa', 'ccc', 'b', 'eee', 'dddd']
b = ['ccc', 'aa', 'eee', 'b', 'eee', 'aaa', 'ccc', 'ccc', 'ccc']
a.sort(key=b.count, reverse=True)
print(a)
# 输出结果:['ccc', 'aa', 'eee', 'b', 'dddd']
在以上代码中,通过设置key参数为b.count,可以实现将元素按照它在列表b中出现的频率从高到低排序。
5、按照字典的值排列
<!--代码部分请保持代码的缩进和格式-->
d = {'a': 3, 'b': 1, 'c': 2}
keys = list(d.keys())
keys = sorted(keys, key=d.__getitem__)
print(keys)
# 输出结果:['b', 'c', 'a']
在以上代码中,使用sorted()函数和字典的__getitem__()方法将字典d中的键按照值的大小排序。
四、总结
Python的Sort函数提供了灵活的排序方式,可以满足不同场景下的排序需求。相信通过以上实例的介绍,大家已经掌握了Sort函数的使用方法和其常用参数,能够更加高效地应用该函数进行排序。