Python序列对象排序是通过lambda指定排序规则

2023-03-13 00:00:00 序列 指定 排序

在Python中,您可以使用sorted()函数按照指定的排序规则对一个可迭代对象进行排序。您可以通过提供一个lambda函数作为key参数来指定自定义排序规则。

lambda函数需要接受一个参数,并返回一个用于排序的值。sorted()函数将使用lambda函数返回的值来对可迭代对象进行排序。例如,假设您有一个包含字符串的列表,您想按字符串长度对它们进行排序:

words = ['banana', 'apple', 'kiwi', 'orange', 'watermelon']
sorted_words = sorted(words, key=lambda x: len(x))

在这里,lambda函数lambda x: len(x)接受一个字符串参数x,并返回该字符串的长度。sorted()函数使用这个长度值对words列表进行排序,将结果存储在一个新的列表sorted_words中。

您也可以使用lambda函数对其他类型的可迭代对象进行排序,例如元组和字典。例如,假设您有一个包含元组的列表,您想按照元组的第二个元素进行排序:

people = [('Alice', 25), ('Bob', 20), ('Charlie', 30), ('David', 27)]
sorted_people = sorted(people, key=lambda x: x[1])

在这里,lambda函数lambda x: x[1]接受一个元组参数x,并返回该元组的第二个元素。sorted()函数使用这个值对people列表进行排序,将结果存储在一个新的列表sorted_people中。

相关文章