首页 >后端开发 >Python教程 >如何高效地查找字符串列表中的子字符串?

如何高效地查找字符串列表中的子字符串?

Linda Hamilton
Linda Hamilton原创
2024-12-17 07:04:25312浏览

How Can I Efficiently Find Substrings Within a List of Strings?

在列表中查找子字符串

给定一个字符串列表,我们可能需要检查特定字符串是否出现在其任何元素中。与搜索完全匹配的常见方法不同,我们希望识别包含目标字符串作为子字符串的字符串。

例如,考虑列表 xs = ['abc-123', 'def-456 '、'ghi-789'、'abc-456']。使用 if 'abc' in xs 检查 'abc' 的精确匹配只会检测其精确出现并错过像 'abc-123' 和 'abc-456' 这样的子字符串。

要查找子字符串,我们可以使用in 运算符与列表理解相结合。下面的代码验证列表中任何元素中是否存在“abc”作为子字符串:

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any("abc" in s for s in xs):
    # 'abc' is present as a substring in at least one element

或者,如果我们想检索包含“abc”的所有元素,我们可以修改列表理解如下:

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

matching = [s for s in xs if "abc" in s]

print(matching)  # ['abc-123', 'abc-456']

以上是如何高效地查找字符串列表中的子字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn