【问题标题】:Check for multiple string within another multiple string in a list检查列表中另一个多个字符串中的多个字符串
【发布时间】:2021-03-14 15:21:49
【问题描述】:
我正在尝试获取多个字符串,然后查找该字符串的哪些块在列表中。此类问题的大多数其他答案都涉及使用set() 或any(),它们都采用单个字符串参数。
所以代码应该是这样的:
my_list = ["spam", "eggs", "foobar and monty python"]
search_term = "monty python"
if search_term in my_list:
return True
但这不起作用,那你怎么做呢?
【问题讨论】:
标签:
python-3.x
string
list
【解决方案1】:
这不起作用,因为"monty python" 不在my_list 中,但"foobar and monty python" 在。如果要查找列表中的任何字符串是否包含另一个字符串,则需要遍历列表并使用in:
for i in my_list:
if search_term in i:
return True
当i 表示最后一个元素"foobar and monty python" 时,search_term in i 将是True,因为"monty python" in "foobar and monty python" 是True。要使用您问题中提到的any() 以获得更简洁的代码:
any([search_term in i for i in my_list]`)