📜  在 python 中按子字符串排序列表 - Python (1)

📅  最后修改于: 2023-12-03 14:51:06.097000             🧑  作者: Mango

在 Python 中按子字符串排序列表

在 Python 中,可以使用 sort() 方法对列表进行排序。但是,如果需要按列表元素的子字符串来排序列表,则需要使用 key 参数并指定一个函数来提取子字符串。在本篇文章中,我们将介绍如何使用该方法来按子字符串排序列表。

方法一:使用 lambda 函数

可以使用一个 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 函数即可。