Python 如何检查子字符串是否是字符串列表的一部分

Python 如何检查子字符串是否是字符串列表的一部分

一般来说,字符串是一个不可变的数据结构,用于以字符串格式存储数据,可以用单引号或双引号括起来。它是不可变的,这意味着一旦创建了字符串,字符串中的数据就不能更改,但可以对字符串执行各种操作来操作数据。

子字符串是较大字符串中的连续字符序列。它是原始字符串的一部分,可以从中提取或搜索。例如,假设字符串”Hello, World!”是原始字符串,”Hello”、”World”和”!”都是原始字符串的子字符串。

在Python中,我们有不同的方法来检查子字符串是否是字符串列表的一部分。让我们详细看看每种方法。

使用循环

这种方法涉及迭代列表中的每个字符串,并检查子字符串是否存在于每个字符串中。

示例

在这个示例中,我们使用for循环遍历列表中的每个字符串。对于每个字符串,我们使用in运算符来检查子字符串是否存在。如果找到匹配项,则返回True,表示子字符串至少在一个字符串中存在。如果任何字符串中找不到匹配项,则返回False。

def is_substring_present_loop(substring, string_list):
   for string in string_list:
      if substring in string:
         return True
      return False
res = is_substring_present_loop("Happy", ["Happy","learning"])
print(res)

输出

True

使用列表推导式

列表推导式的方法允许我们创建一个新的列表,其中包含表示每个字符串中是否存在子字符串的布尔值。然后,我们可以使用any()函数来检查布尔值中是否有任何一个为True。

示例

在这个例子中,我们使用一个列表推导式来创建一个名为match_list的新列表。match_list中的每个元素表示相应字符串中是否存在子字符串。最后,我们使用any()函数来检查match_list中是否有任何一个元素为True,如果有则返回True,否则返回False。

def is_substring_present_listcomp(substring, string_list):
   match_list = [substring in string for string in string_list]
   return any(match_list)
res = is_substring_present_listcomp("Happy", ["Happy","learning"])
print(res)

输出

True

使用any()函数和生成器表达式

这种方法类似于列表推导式的方法,但是不会创建一个单独的列表,而是直接在any()函数中使用一个生成器表达式。

示例

在这个示例中,我们使用生成器表达式(substring in string for string in string_list),它会生成一个布尔值序列,指示子字符串是否存在于每个字符串中。any()函数检查这些布尔值中是否有任何一个为True。如果有,则返回True;否则返回False。

def is_substring_present_any(substring, string_list):
   return any(substring in string for string in string_list)
res = is_substring_present_any("Tutorialspoint", ["Happy","learning"])
print(res)

输出

False

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程