如果列表中的元素包含单词 | Python

if Element in List contains a word | Python

假设我有一个列表:

my_list = ["A", "B", "haha_test_haha", "C"]

我想删除包含子字符串 test.

的所有元素

输出:

my_list = ["A", "B", "C"]

我一直在尝试列表理解,但没有成功。这将是理想的解决方案。

注意:我只需要 test 被删除。不是要删除的单词列表。


我的尝试:

my_list = ['A', 'B', 'C', 'C', 'ahahtestaagaga']

my_list = [remove for e in my_list if e.substring('test')]

print([sa for sa in a if not any(sb in sa for sb in b)])
my_list = [word for word in my_list if 'test' not in word]

想想它看起来像一个for循环,所以为了这个例子,让我们建立一个新列表(即使它效率低下),你想要捕获没有“测试”的东西作为子字符串:

new_list = []
for x in my_list:
    if "test" not in x:
        new_list.append(x)

那作为理解会是什么样子呢?

my_list = [x for x in my_list if "test" not in x]