Python中的sorted()函数:使用案例和简介
发布时间:2023-06-22 12:53:20
Python中的sorted()函数是一个非常常用的内置函数,其作用是对可迭代对象进行排序,并返回一个新的有序列表。sorted()函数支持排序的对象包括列表(list)、元组(tuple)、集合(set)、字典(dict)以及其他支持迭代的对象。
sorted()函数的语法格式如下:
sorted(iterable, key=None, reverse=False)
其中,iterable表示需要排序的对象,key是一个可选参数,用于指定一个函数来从每个对象中提取比较关键字,reverse则表示是否需要排序的结果进行反向排序。
下面我们来看一些使用sorted()函数的案例:
1、对列表进行排序
>>> lst = [3, 1, 4, 5, 2] >>> sorted_lst = sorted(lst) >>> print(sorted_lst) [1, 2, 3, 4, 5]
2、对元组进行排序
>>> tpl = (3, 1, 4, 5, 2) >>> sorted_tpl = sorted(tpl) >>> print(sorted_tpl) [1, 2, 3, 4, 5]
3、对集合进行排序
>>> st = {3, 1, 4, 5, 2}
>>> sorted_st = sorted(st)
>>> print(sorted_st)
[1, 2, 3, 4, 5]
4、对字典进行排序
对字典进行排序需要使用sorted()函数的key参数来指定按照哪个键来排序。
>>> d = {'a': 3, 'b': 1, 'c': 4, 'd': 5, 'e': 2}
>>> sorted_d = sorted(d.items(), key=lambda x: x[1])
>>> print(sorted_d)
[('b', 1), ('e', 2), ('a', 3), ('c', 4), ('d', 5)]
5、按照多个键值进行排序
使用key参数可以实现按照多个键值进行排序。例如,下面的代码按照年龄和姓名的顺序进行排序:
>>> lst = [
... {'name': 'Tom', 'age': 18},
... {'name': 'Jerry', 'age': 18},
... {'name': 'Amy', 'age': 20},
... {'name': 'Bob', 'age': 20},
... ]
>>> sorted_lst = sorted(lst, key=lambda x: (x['age'], x['name']))
>>> print(sorted_lst)
[{'name': 'Jerry', 'age': 18}, {'name': 'Tom', 'age': 18}, {'name': 'Amy', 'age': 20}, {'name': 'Bob', 'age': 20}]
从上面的案例中可以看出,sorted()函数非常灵活,可以用于对各种类型的数据进行排序。如果需要实现自定义的排序逻辑,只需指定key参数为一个函数即可。同时,由于sorted()函数返回的是一个新的有序列表,原始数据并不会被修改,这可以帮助我们在保留原始数据的基础上方便地进行各种分析和处理。
