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

标签 python list dictionary

我需要保存列表 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/

相关文章:

javascript - 如何在javascript中调用/使用python函数返回的数据?

python - Django 。获取一个对象中所有字段的值

python - 在Python中简单添加

python - 循环修改List元素

python - 从文件导入和使用 JSON 字符串时出现 ValueError

python - 如何使用 Conda 替换基于 Homebrew 的 Python 配置

c++ - 不可能使 <list <list< int* >> 工作

r - 是否有一个 R 函数可以在不指定单个元素的情况下将列表元素作为参数传递

Python - Json 转换 - 为什么使用相似的字符串格式会表现不同

python - 对(字符串, float )的字典进行排序时,字符串索引超出范围