python sorted函数key用法
时间: 2023-11-13 11:04:56 浏览: 109
Python中的sorted函数可以对可迭代对象进行排序,其中的key参数可以指定一个函数,用于生成排序依据。例如,对一个字符串列表按照字符串长度进行排序,可以这样写:
```
lst = ['apple', 'banana', 'orange', 'pear']
sorted_lst = sorted(lst, key=len)
print(sorted_lst)
```
输出结果为:`['pear', 'apple', 'banana', 'orange']`,即按照字符串长度从小到大排序。
另外,key参数还可以接受一个lambda表达式,用于生成排序依据。例如,对一个字典列表按照字典中某个键的值进行排序,可以这样写:
```
lst = [{'name': 'Tom', 'age': 20}, {'name': 'Jerry', 'age': 18}, {'name': 'Alice', 'age': 22}]
sorted_lst = sorted(lst, key=lambda x: x['age'])
print(sorted_lst)
```
输出结果为:`[{'name': 'Jerry', 'age': 18}, {'name': 'Tom', 'age': 20}, {'name': 'Alice', 'age': 22}]`,即按照字典中'age'键的值从小到大排序。
相关问题
python sorted函数key
sorted函数的key参数是一个可选的关键字参数,用于指定一个函数,该函数将作为排序的关键字。在排序时,sorted函数将对每个元素调用该函数,并将其返回值用作排序依据。例如,如果要按照字符串长度进行排序,可以使用以下代码:
```
words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=len)
print(sorted_words)
```
输出结果为:
```
['date', 'apple', 'banana', 'cherry']
```
在这个例子中,key参数指定了len函数,该函数返回字符串的长度,因此sorted函数将按照字符串长度进行排序。
python sorted函数key=lambda
Python中的sorted函数接受一个key参数,用来指定对序列中的每一个元素进行排序时使用的关键字。关键字可以是一个函数,也可以是一个可调用的对象。使用lambda关键字可以定义一个简单的匿名函数,作为sorted函数的key参数。
举个例子,假设有一个元素为元组的列表,其中元组的第一个元素是字符串,第二个元素是数字,我们可以用下面的代码对列表中的元组按照第二个元素(即数字)排序:
```
>>> my_list = [('apple', 3), ('banana', 2), ('orange', 1)]
>>> sorted(my_list, key=lambda x: x[1])
[('orange', 1), ('banana', 2), ('apple', 3)]
```
上面的代码中,lambda x: x[1] 是一个匿名函数,它的输入是一个元组 x ,输出是该元组的第二个元素,也就是数字。由于sorted 函数在排序时调用这个函数,传入每一个元组,然后以返回值进行比较,进而进行排序。
阅读全文