iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 中检查字符串是否包含列表中的元素
  • 291
分享到

Python 中检查字符串是否包含列表中的元素

python开发语言 2023-09-01 14:09:50 291人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

使用 any() 函数检查字符串是否包含列表中的元素。 如果字符串至少包含列表中的一个元素,any() 函数将返回 True,否则返回 False。 my_str = 'one two three'm

使用 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 = Falsefor substring in my_list:    if substring in my_str:        is_contained = True        breakprint(is_contained)  # 👉️ Trueif 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

检查列表中的任何元素是否包含字符串:

  1. 使用生成器表达式迭代列表。
  2. 使用 in 运算符检查字符串是否包含在每个列表项中。
  3. 如果条件至少满足一次,则该字符串包含在列表中。
my_list = ['fql', 'jiyik', 'com']substring = 'z'result = any(substring in Word for word in my_list)print(result)  # 👉️ Falseif 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)  # 👉️ False

in 运算符测试成员资格。 例如,如果 x 是 s 的成员,则 x in s 的计算结果为 True,否则计算结果为 False。

my_str = 'fql jiyik'print('fql' in my_str)  # 👉️ Trueprint('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)  # 👉️ Falseif 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 = Falsefor item in my_list:    if substring in item:        any_element_contains = True        breakprint(any_element_contains)  # 👉️ Trueif 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 并退出循环。

来源地址:https://blog.csdn.net/fengqianlang/article/details/129353270

--结束END--

本文标题: Python 中检查字符串是否包含列表中的元素

本文链接: https://www.lsjlt.com/news/388538.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作