Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中从列表中删除具有特定值的字符串_Python - Fatal编程技术网

在python中从列表中删除具有特定值的字符串

在python中从列表中删除具有特定值的字符串,python,Python,我有一张单子 my_list = ['Cat Dog Tiger Lion', 'Elephant Crocodile Monkey', 'Pantera Cat Eagle Hamster'] 我需要删除所有包含sub='Cat' 所以我需要有输出 ['Elephant Crocodile Monkey'] 我想我需要对正则表达式做些什么,可能是重新编译,找到这些值,然后从我的列表中删除它们 我被试过: for string in my_list: if string.find(s

我有一张单子

my_list = ['Cat Dog Tiger Lion', 'Elephant Crocodile Monkey', 'Pantera Cat Eagle Hamster']
我需要删除所有包含
sub='Cat'

所以我需要有输出

['Elephant Crocodile Monkey']
我想我需要对正则表达式做些什么,可能是重新编译,找到这些值,然后从我的列表中删除它们

我被试过:

for string in my_list:
    if string.find(sub) is not -1:
        print("this string have our sub")
    else:
        print("sthis string doesnt have our sub")

但我不知道如何将其与从
我的列表中删除这些行相结合要筛选列表,一个简单的方法是使用列表理解:

[i for i in my_list if 'Cat' not in i]
# ['Elephant Crocodile Monkey']
这相当于:

out = []
for i in my_list:
    if 'Cat' not in i:
        out.append(i)

要筛选列表,一种简单的方法是使用列表理解:

[i for i in my_list if 'Cat' not in i]
# ['Elephant Crocodile Monkey']
这相当于:

out = []
for i in my_list:
    if 'Cat' not in i:
        out.append(i)
以下是您的列表:

my_list = ['Cat Dog Tiger Lion', 'Elephant Crocodile Monkey', 'Pantera Cat Eagle Hamster']
您可以使用列表理解来筛选列表:

new_list = [x for x in my_list if(not x.__contains__('Cat'))]
以下是您的列表:

my_list = ['Cat Dog Tiger Lion', 'Elephant Crocodile Monkey', 'Pantera Cat Eagle Hamster']
您可以使用列表理解来筛选列表:

new_list = [x for x in my_list if(not x.__contains__('Cat'))]

很好,雅图。但是,这个als是否适合作为子字符串的
Cat
?当
Cat
将是
Caterpillar
的子字符串时,我很想了解您将如何调整您的答案以使其生效。我自己添加了一个答案,但我觉得可以做得更简单。Nice@yatu。但是,这个als是否适合作为子字符串的
Cat
?当
Cat
将是
Caterpillar
的子字符串时,我很想了解您将如何调整您的答案以使其生效。我自己添加了一个答案,但我觉得可以做得简单得多。用于学习目的。根据@yatu他的回答,你能解释一下
不在
中与你的
不包含
方法之间的主要区别吗?
中的
关键字调用对象的
\uuuuuuuuuuuuuuuuu包含
方法。我意识到
中的
更可取,因为它比方法调用语法更简单。然而,两者的结果是相同的。用于学习目的。根据@yatu他的回答,你能解释一下
不在
中与你的
不包含
方法之间的主要区别吗?
中的
关键字调用对象的
\uuuuuuuuuuuuuuuuu包含
方法。我意识到
中的
更可取,因为它比方法调用语法更简单。然而,它们都给出了相同的结果。