【发布时间】:2022-01-14 02:16:22
【问题描述】:
我正在尝试搜索字符串列表,如果它在某个字符位置有一个字母,我想从列表中删除该字符串。到目前为止,我有:
l = ['fast', 'attack', 'slow', 'baft', 'attack', 'baft']
for strings in l:
if 'a' in strings[0]:
l.pop()
print(l)
谢谢。
【问题讨论】:
-
当询问与代码相关的问题时,您应该添加的第一个标签是您正在编码的语言的标签。请edit您的帖子添加该标签;您可以删除无意义的“循环”、“字符”和“字符串”为其腾出空间。
-
l.pop()->l.remove(strings)警告:How to remove items from a list while iterating? -
[x for x in l if x[0]!='a'] -
如果您反复弹出或删除,您正在运行 O(n^2),因为删除后的每个列表元素都必须向左移动一个。创建一个全新的列表并附加值是 O(n),因为附加到列表的末尾是 O(1)。
标签: python string list char list-comprehension