在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包含
方法。我意识到
中的更可取,因为它比方法调用语法更简单。然而,它们都给出了相同的结果。