Python中sorted()函数的用法及实例解析
发布时间:2023-06-20 23:17:26
Python中的sorted()函数是对可迭代对象进行排序的函数,能够对列表、元组、字典等数据类型进行排序操作。该函数的返回值是一个排序后的新的列表,不会改变原有列表的顺序。
sorted()函数有两个重要的参数,分别是key和reverse。其中,key参数用于指定排序的规则,reverse参数用于控制是否逆序排列。如果不传入key参数,默认进行升序排序。
sorted()函数的语法格式如下:
sorted(iterable, key=None, reverse=False)
参数介绍:
- iterable:可迭代对象,例如列表、元组等。
- key(可选):函数用于指定排序规则,需要传入一个函数作为参数,函数返回该元素的比较关键字。默认为None。
- reverse(可选):用于指定是否按照降序排列,默认为False。
下面,我们结合实例来介绍sorted()函数的用法。
示例1:对列表进行排序
(1) 对简单的整型列表进行升序排序
a_list = [3, 1, 4, 2, 6, 5] print(sorted(a_list)) # [1, 2, 3, 4, 5, 6]
(2) 对浮点数列表进行降序排序
b_list = [6.2, 1.3, 9.4, 4.5, 3.0, 2.5] print(sorted(b_list, reverse=True)) # [9.4, 6.2, 4.5, 3.0, 2.5, 1.3]
(3) 对字符串列表进行按长度升序排序
c_list = ['abcd', 'abc', 'ab', 'a', 'b'] print(sorted(c_list, key=lambda x: len(x))) # ['b', 'a', 'ab', 'abc', 'abcd']
示例2:对元组进行排序
a_tuple = (3, 1, 4, 2, 6, 5) print(sorted(a_tuple)) # [1, 2, 3, 4, 5, 6]
示例3:对字典进行排序
(1) 对字典按照键进行升序排序
a_dict = {'b': 2, 'a': 1, 'c': 3}
print(sorted(a_dict.items())) # [('a', 1), ('b', 2), ('c', 3)]
(2) 对字典按照值进行降序排序
b_dict = {'b': 2, 'a': 1, 'c': 3}
print(sorted(b_dict.items(), key=lambda x: x[1], reverse=True)) # [('c', 3), ('b', 2), ('a', 1)]
(3) 对字典按照键的长度进行升序排序
c_dict = {'b': 2, 'aaa': 1, 'ccc': 3, 'aa': 4}
print(sorted(c_dict.items(), key=lambda x: len(x[0]))) # [('b', 2), ('aa', 4), ('aaa', 1), ('ccc', 3)]
sorted()函数是一个非常常用的函数,正如上述示例展示的那样,sorted()函数能够轻松地对列表、元组、字典等数据类型进行排序,通过使用key参数可以极大地拓展sorted()函数的应用场景。
