Python 中检查字符串是否包含列表中的元素
使用 any()
函数检查字符串是否包含列表中的元素。
如果字符串至少包含列表中的一个元素,any()
函数将返回 True,否则返回 False。
my_str = 'one two three'
my_list = ['a', 'two', 'c']
if any(substring in my_str for substring in my_list):
# 👇️ this runs
print('The string contains at least one element from the list')
else:
print('The string does NOT contain any of the elements in the list')
如果需要检查列表中的任何元素是否包含字符串,可以看以下方式:
- 检查列表中的任何元素是否包含字符串
我们使用生成器表达式来迭代字符串集合。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在示例中,我们遍历字符串列表并检查字符串中是否包含每个子字符串。
any
函数将一个可迭代对象作为参数,如果可迭代对象中的任何元素为真,则返回 True。
如果字符串至少包含列表中的一个元素,any()
函数将短路返回 True。
in
运算符测试成员资格。 例如,如果 x 是 s 的成员,则 x in s 的计算结果为 True,否则计算结果为 False。
获取匹配的子串
如果需要获取字符串中包含的列表项,可以使用赋值表达式语法。
my_str = 'one two three'
my_list = ['a', 'two', 'c']
if any((match := substring) in my_str for substring in my_list):
# 👇️ this runs
print('The string contains at least one element from the list')
print(match) # 👉️ 'two'
else:
print('The string does NOT contain any of the elements in the list')
赋值表达式允许我们使用 NAME := 表达式语法为表达式中的变量赋值。
如果我们传递给 any()
函数的 iterable 为空或 iterable 中的元素都不为真,则 any
函数返回 False。
获取所有匹配的子串
如果我们需要获取所有匹配的子字符串,请使用列表推导。
my_str = 'one two three'
my_list = ['a', 'two', 'c', 'one']
matches = [substring for substring in my_list
if substring in my_str]
print(matches) # 👉️ ['two', 'one']
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们检查是否在字符串中找到当前子字符串并返回结果。
新列表包含字符串中包含的所有列表元素。
以不区分大小写的方式检查
如果我们需要以不区分大小写的方式检查字符串是否包含列表中的元素,请将两个字符串都转换为小写。
my_str = 'ONE TWO THREE'
my_list = ['a', 'two', 'c']
if any(substring.lower() in my_str.lower() for substring in my_list):
# 👇️ this runs
print('The string contains at least one element from the list')
else:
print('The string does NOT contain any of the elements in the list')
在检查每个列表项是否包含在字符串中之前,我们使用 str.lower()
方法将每个列表项和字符串转换为小写。
str.lower
方法返回字符串的副本,其中所有大小写字符都转换为小写。
要执行不区分大小写的比较,两个字符串都必须是小写或大写。
使用 for 循环检查字符串是否包含列表中的元素
我们还可以使用 for 循环来检查字符串是否包含列表中的元素。
my_str = 'one two three'
my_list = ['a', 'two', 'c']
is_contained = False
for substring in my_list:
if substring in my_str:
is_contained = True
break
print(is_contained) # 👉️ True
if is_contained:
# 👇️ this runs
print('The string contains at least one element from the list')
else:
print('The string does NOT contain any of the elements in the list')
我们将 is_contained
变量初始化为 False 并使用 for 循环遍历字符串列表。
在每次迭代中,我们检查当前子字符串是否包含在字符串中。
如果满足条件,我们将 is_contained
变量设置为 True 并退出 for 循环。
检查 List 中是否有任何元素包含 String
检查列表中的任何元素是否包含字符串:
- 使用生成器表达式迭代列表。
- 使用 in 运算符检查字符串是否包含在每个列表项中。
- 如果条件至少满足一次,则该字符串包含在列表中。
my_list = ['fql', 'jiyik', 'com']
substring = 'z'
result = any(substring in word for word in my_list)
print(result) # 👉️ True
if any(substring in word for word in my_list):
# 👇️ this runs
print('The substring is contained in at least one of the list items')
else:
print('The substring is NOT contained in any of the list items')
我们使用生成器表达式来遍历列表。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们检查子字符串是否包含在当前列表项中并返回结果。
my_list = ['fql', 'jiyik', 'com']
substring = 'z'
result = any(substring in word for word in my_list)
print(result) # 👉️ True
in 运算符测试成员资格。 例如,如果 x 是 s 的成员,则 x in s 的计算结果为 True,否则计算结果为 False。
my_str = 'fql jiyik'
print('fql' in my_str) # 👉️ True
print('another' in my_str) # 👉️ False
x not in s
返回x in s
的否定。
any
函数将一个可迭代对象作为参数,如果可迭代对象中的任何元素为真,则返回 True。
检查列表中的任何元素是否包含字符串,忽略大小写
如果我们需要检查某个子字符串是否包含在忽略大小写的列表中的任何项目中,请将两个字符串都转换为小写。
my_list = ['FQL', 'JIYIK', 'COM']
substring = 'z'
result = any(substring.lower() in word.lower() for word in my_list)
print(result) # 👉️ True
if any(substring.lower() in word.lower() for word in my_list):
# 👇️ this runs
print('The substring is contained in at least one of the list items')
else:
print('The substring is NOT contained in any of the list items')
str.lower
方法返回字符串的副本,其中所有大小写字符都转换为小写。
该方法不会更改原始字符串,它会返回一个新字符串。 字符串在 Python 中是不可变的。
我们可以通过将两个字符串都转换为小写或大写来执行不区分大小写的成员资格测试。
找包含子字符串的列表项
如果我们需要查找包含子字符串的列表项,请使用列表推导。
my_list = ['fql', 'jiyik', 'com']
substring = 'k'
matches = [word for word in my_list if substring in word]
print(matches) # 👉️ ['jiyik']
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
新列表仅包含包含子字符串的列表项。
如果我们需要执行不区分大小写的成员资格测试,请将两个字符串都转换为小写。
my_list = ['fql', 'jiyik', 'com']
substring = 'K'
matches = [word for word in my_list if substring.lower() in word.lower()]
print(matches) # 👉️ ['jiyik']
使用 for 循环检查列表中的任何元素是否包含字符串
我们还可以使用 for 循环来检查列表中的任何元素是否包含字符串。
my_list = ['fql', 'jiyik', 'com']
substring = 'k'
any_element_contains = False
for item in my_list:
if substring in item:
any_element_contains = True
break
print(any_element_contains) # 👉️ True
if any_element_contains:
# 👇️ this runs
print('The substring is contained in at least one of the list items')
else:
print('The substring is NOT contained in any of the list items')
我们将 any_element_contains
变量初始化为 False。
在每次迭代中,我们使用 in 运算符来检查当前项是否包含子字符串。
如果满足条件,我们将 any_element_contains
变量设置为 True 并退出循环。
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。