Python排序时使用key函数进行排序
在Python中,可以使用内置的sort()方法和sorted()函数对列表进行排序。这些方法和函数都支持一个可选的参数key,它允许您指定一个函数,该函数将应用于每个元素,并返回一个用于排序的值。
下面是一个示例,演示如何使用key参数对数字列表进行排序:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_numbers = sorted(numbers, key=lambda x: -x) print(sorted_numbers) # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
在上面的代码中,我们使用lambda函数来定义一个匿名函数,该函数接受一个数字并返回其相反数。我们将此函数传递给sorted()函数作为key参数,从而按相反顺序对数字列表进行排序。
另一个示例,演示如何使用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参数是一种非常有用的方式,用于在排序时指定一个自定义规则,而不是默认规则。
相关文章