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

理解Python中sorted()函数的使用方法

发布时间:2023-06-22 23:07:53

Python中的sorted()函数是一种特殊的内置函数,它可以对序列(list, tuple, string)和可迭代对象(iterable)进行排序。该函数返回一个经过排序后的新的序列或列表,而不会改变原来的序列或列表。

sorted()函数的用法如下:

sorted(iterable[, cmp[, key[, reverse]]])

参数解释:

- iterable:要排序的对象,可以是序列(list, tuple, string)或可迭代对象(iterable)。

- cmp:比较函数,用于指定自定义的排序方式,可选参数。

- key:用于指定可迭代对象中的某个元素作为排序的依据,默认为None。

- reverse:用于控制是否按照反向排序,默认为False。

sorted()函数返回一个排好序的对象,可以将其转换为list或tuple。

下面是一些使用sorted()函数进行排序的例子:

### 1.对列表进行排序

>>> lst = [4, 2, 1, 3, 5]
>>> sorted_lst = sorted(lst)
>>> print(sorted_lst)
[1, 2, 3, 4, 5]

### 2.对元组进行排序

>>> tpl = (1, 4, 2, 5, 3)
>>> sorted_tpl = sorted(tpl)
>>> print(sorted_tpl)
[1, 2, 3, 4, 5]

### 3.对字符串进行排序

>>> s = 'bac'
>>> sorted_s = sorted(s)
>>> print(sorted_s)
['a', 'b', 'c']

### 4.根据字段进行排序

>>> lst = [{'name': 'Tom', 'age': 23}, {'name': 'Jack', 'age': 18}, {'name': 'Lily', 'age': 28}]
>>> sorted_lst = sorted(lst, key=lambda x: x['age'])
>>> print(sorted_lst)
[{'name': 'Jack', 'age': 18}, {'name': 'Tom', 'age': 23}, {'name': 'Lily', 'age': 28}]

### 5.指定反向排序

>>> lst = [4, 2, 1, 3, 5]
>>> sorted_lst = sorted(lst, reverse=True)
>>> print(sorted_lst)
[5, 4, 3, 2, 1]

总之,在Python中使用sorted()函数进行排序,它可以排序多种类型的序列和可迭代对象,根据不同的需求可以使用不同的参数进行自定义排序,而且不会改变原来的序列或列表。