python - 使用 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)
问题是什么 ?
解决方案
尝试这个:
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']
推荐阅读
- python - 获取 openstreetmap 中节点/位置的多边形 shapefile/KML
- firebase - Firestore 我应该将用户的文档 ID 设置为什么?
- javascript - 父组件首次挂载时反应子组件不渲染
- excel - Excel VBA 从自动筛选器中删除筛选器实际上会删除所有记录
- javascript - 将数据插入数据库后无法从 API 获取值
- azure-functions - 每个环境的 Azure 函数函数超时
- google-chrome - 通过 SSH 在 Atom 中启用 Xdebug 到远程服务器
- firebase - 从云 Firestore 下载配置文件“...-4c982-firebase-adminsdk-afeif-66aa57d3dc.json”的位置
- spring-data-jpa - Spring JPA 双创
- .net - JsonPatchDocument 缺少类型映射配置或不支持的映射