猿问

使用 lambda 过滤字符串列表

我有一个清单,例如

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

我想使用lambda获取新列表。

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

我试过了,但没有按我预期的那样工作。这是我写的。

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

问题是什么 ?


收到一只叮咚
浏览 299回答 3
3回答

HUX布斯

尝试这个:蟒蛇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_listOut[981]: ['apple', 'banana', 'cherry']蟒蛇3:In [4]: new_list = list(map(lambda x: x.split("_")[1], old_list))In [5]: new_listOut[5]: ['apple', 'banana', 'cherry']

三国纷争

您可以map使用lambda函数列出列表:list(map(lambda s: s.split('_')[1], old_list))这将返回:['apple', 'banana', 'cherry']

一只斗牛犬

使用列表推导式lst=["a_apple","b_banana","c_cherry"][i.split("_")[1] for i in lst]输出:['apple', 'banana', 'cherry']
随时随地看视频慕课网APP

相关分类

Python
我要回答