【问题标题】: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]`)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2019-08-20
      相关资源
      最近更新 更多