python中的sorted函数中的key参数如何使用以自定义排序?
时间: 2023-06-10 21:09:12 浏览: 192
sorted函数的key参数可以接受一个函数作为参数,用来指定排序时的比较规则。这个函数接受一个参数,返回一个值作为排序依据。具体使用方法如下:
假设有一个列表,其中每个元素都是一个字典,包含name和age两个键值对。现在要按照age从小到大的顺序排序,可以按照以下方式使用sorted函数:
```
lst = [{'name': 'Alice', 'age': 20}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 18}]
sorted_lst = sorted(lst, key=lambda x: x['age'])
print(sorted_lst)
```
输出结果为:
```
[{'name': 'Charlie', 'age': 18}, {'name': 'Alice', 'age': 20}, {'name': 'Bob', 'age': 25}]
```
在这个例子中,lambda函数接受一个字典作为参数x,返回x['age']作为排序依据。sorted函数根据这个依据对列表进行排序,并返回排序后的结果。
相关问题
python 中sorted函数中参数key的使用方法
在 Python 中, `sorted()` 函数可以用于对一个可迭代对象进行排序操作,其中有一个可选参数 `key`,用于指定排序时要使用的比较函数。
`key` 参数需要传入一个函数,这个函数接受可迭代对象中的一个元素作为输入,输出一个用于比较的值。`sorted()` 函数将根据这个比较值进行排序,而不是直接比较元素本身。
例如,假设有一个列表 `lst`,其中包含多个字符串,我们可以使用 `sorted()` 函数以字符串长度为关键字对这些字符串进行排序:
```python
lst = ['apple', 'banana', 'cherry', 'date']
sorted_lst = sorted(lst, key=len)
print(sorted_lst)
```
输出结果为:
```
['date', 'apple', 'banana', 'cherry']
```
在这个例子中,`key` 参数传入的是 `len` 函数,它会对列表中的每个字符串求出其长度,作为排序依据。
python中sorted函数key参数
好的,关于Python中的sorted函数的key参数,它可以接受一个函数作为参数,用于指定排序时使用的比较关键字。具体来说,sorted函数会将待排序的序列中的每个元素传递给key函数,然后根据key函数的返回值进行排序。下面是一个例子:
```python
lst = ['apple', 'banana', 'orange', 'pear']
sorted_lst = sorted(lst, key=lambda x: len(x))
print(sorted_lst) # ['pear', 'apple', 'banana', 'orange']
```
在上面的例子中,我们使用了lambda表达式作为key函数,它返回每个元素的长度,因此sorted函数会根据元素的长度进行排序。
阅读全文