📅  最后修改于: 2023-12-03 14:51:06.097000             🧑  作者: Mango
在 Python 中,可以使用 sort()
方法对列表进行排序。但是,如果需要按列表元素的子字符串来排序列表,则需要使用 key
参数并指定一个函数来提取子字符串。在本篇文章中,我们将介绍如何使用该方法来按子字符串排序列表。
可以使用一个 lambda 函数来提取子字符串,并将其作为 key
参数传递给 sort()
方法。代码如下:
my_list = ['banana', 'apple', 'cherry', 'date']
my_list.sort(key=lambda x: x[1])
print(my_list)
输出:
['banana', 'cherry', 'apple', 'date']
在上面的代码中,key=lambda x: x[1]
表示使用字符串的第二个字符来进行排序。
可以编写一个自定义函数来提取子字符串,并将其作为 key
参数传递给 sort()
方法。代码如下:
def get_second_char(word):
return word[1]
my_list = ['banana', 'apple', 'cherry', 'date']
my_list.sort(key=get_second_char)
print(my_list)
输出:
['banana', 'cherry', 'apple', 'date']
在上面的代码中,get_second_char()
函数的作用与 lambda 表达式相同,都是返回字符串的第二个字符。
总而言之,使用 key
参数可以轻松地按子字符串排序列表。这不仅适用于字符串,还适用于其他类型的元素,只需要相应地更改 key
函数即可。