python - 使用 Python 将列表 l 中以“S”开头的项目保存到 l2
问题描述
我需要将所有以“S”开头的列表项从列表 l 保存到 l2
l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = []
l1 = list(map(lambda x : x if x[0] == 'S',l))
print(l1)
以上导致语法错误。
我试过 试用-I
l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = []
l1 = list(map(lambda x : x if x[0] == 'S' else '',l))
l1
它返回 [True, True, True, False]
我的预期输出是 ['Santa Cruz','Santa fe','Sumbai']
试验二
l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = []
l1 = list(map(lambda x : x[0] == 'S',l))
print(l1)
试用 II返回 ['Santa Cruz','Santa fe','Sumbai', '']
我的预期结果不应该在结尾有空白列表项。
解决方案
l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = [name for name in l if name.startswith("S")]
编辑
所有字符串都有一个名为startswith
. 取字符串的第 0 个元素也可以解决问题。
对于列表推导,该行中发生的事情l1 = [name for name in l if name.startswith("S")]
基本上与
l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = []
for name in l:
if name.startswith("S"): # also: if name[0] == "S" would work
l1.append(name)
但是更简洁的写法
推荐阅读
- python - 使用 python 包装器并行化 python 脚本
- jquery - JQuery 在获取后立即自动执行 javascript 文件
- python - MongoDB计算工作日和周末的推文总数(Python)
- python - 收到错误“ValueError:索引必须是单调的”
- reactjs - ReactJS 和 Firebase:如何从 Firebase 数据库动态填充主页
- java - Firebase 实时数据库在使用应用时仍然无效。这怎么可能?很奇怪
- reactjs - 在反应功能组件的函数内调用 props.myFunction()
- c - 需要有关在 C 中以不同方式编写 For 循环的建议,命令行参数
- reactjs - 第一次设置状态然后使用状态时如何从 inifite 循环中停止 useEffect
- python - Python Matplotlib 按类别和聚合排列子图