使用lambd筛选字符串列表

2024-04-29 10:52:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子

old_list=["a_apple","b_banana","c_cherry"]

我想用lambda得到一个新的列表。你知道吗

new_list=["apple","banana","cherry"]

我试过了,但没有达到预期效果。这是我写的。你知道吗

new_list=filter(lambda x: x.split("_")[1], old_list)

有什么问题?你知道吗


Tags: lambdaapple列表newfilteroldlist单子
3条回答

试试这个:

Python-2

In [978]: old_list=["a_apple","b_banana","c_cherry"]

In [980]: new_list = map(lambda x: x.split("_")[1], old_list)

In [981]: new_list
Out[981]: ['apple', 'banana', 'cherry']

Python-3

In [4]: new_list = list(map(lambda x: x.split("_")[1], old_list))

In [5]: new_list
Out[5]: ['apple', 'banana', 'cherry']

您可以使用lambda函数map列表:

list(map(lambda s: s.split('_')[1], old_list))

这将返回:

['apple', 'banana', 'cherry']

使用list comprehensions

lst=["a_apple","b_banana","c_cherry"]
[i.split("_")[1] for i in lst]

输出:

['apple', 'banana', 'cherry']

相关问题 更多 >