为了账号安全,请及时绑定邮箱和手机立即绑定

使用 lambda 过滤字符串列表

使用 lambda 过滤字符串列表

收到一只叮咚 2021-09-01 14:44:15
我有一个清单,例如old_list=["a_apple","b_banana","c_cherry"]我想使用lambda获取新列表。new_list=["apple","banana","cherry"]我试过了,但没有按我预期的那样工作。这是我写的。new_list=filter(lambda x: x.split("_")[1], old_list)问题是什么 ?
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

尝试这个:


蟒蛇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']

蟒蛇3:


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


In [5]: new_list

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


查看完整回答
反对 回复 2021-09-01
?
三国纷争

TA贡献1804条经验 获得超7个赞

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

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

这将返回:

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


查看完整回答
反对 回复 2021-09-01
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

使用列表推导式


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

[i.split("_")[1] for i in lst]

输出:


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


查看完整回答
反对 回复 2021-09-01
  • 3 回答
  • 0 关注
  • 298 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号