gpt4 book ai didi

python - 使用 Python 将列表 l 中以 'S' 开头的项目保存到 l2

转载 作者:行者123 更新时间:2023-12-04 00:52:25 25 4
gpt4 key购买 nike

我需要保存列表 l 到 l2 中所有以 'S' 开头的列表项

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

试验-II

l= ['Santa Cruz','Santa fe','Sumbai','Delhi']
l1 = []
l1 = list(map(lambda x : x[0] == 'S',l))
print(l1)

Trial-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 将列表 l 中以 'S' 开头的项目保存到 l2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65514577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com