欢迎访问宙启技术站
智能推送

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()函数的应用场景。