python中key函数的用法

2023-03-13 00:00:00 python 函数 用法

在Python中,key函数是一种用于排序的函数,它定义了一个规则来决定给定集合中元素的排序方式。它通常在sorted()、min()、max()、list.sort()等函数中使用。

key函数接受一个参数,并且返回一个用于排序的值。排序函数将使用返回值来比较元素,而不是使用元素本身进行比较。例如,如果您想按照字符串的长度对列表进行排序,则可以使用len()函数作为key函数。

下面是一个示例,演示如何使用key函数将字符串列表按长度进行排序:

words = ['apple', 'pie', 'banana', 'cherry']
words_sorted = sorted(words, key=len)
print(words_sorted)  # ['pie', 'apple', 'banana', 'cherry']

在上面的代码中,我们使用key=len来指定按照字符串的长度进行排序。sorted()函数将使用len()函数的返回值来比较元素。

另一个示例,演示如何使用key函数将字典列表按字典值的某个键进行排序:

people = [{'name': 'John', 'age': 25},
          {'name': 'Jane', 'age': 18},
          {'name': 'David', 'age': 30},
          {'name': 'Samuel', 'age': 22}]
people_sorted = sorted(people, key=lambda x: x['age'])
print(people_sorted)  # [{'name': 'Jane', 'age': 18}, {'name': 'Samuel', 'age': 22}, {'name': 'John', 'age': 25}, {'name': 'David', 'age': 30}]

在上面的代码中,我们使用lambda函数来定义一个匿名函数,该函数接受一个字典并返回其'age'键的值。我们将此函数传递给sorted()函数作为key参数,从而按年龄对字典列表进行排序。

总之,key函数是一个非常有用的函数,可以用于在排序时指定一个自定义规则,而不是默认规则。

相关文章