您的位置:

Python Sort函数的使用方法和实例

一、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函数的使用方法和其常用参数,能够更加高效地应用该函数进行排序。