在列表中查找子字符串
给定一个字符串列表,我们可能需要检查特定字符串是否出现在其任何元素中。与搜索完全匹配的常见方法不同,我们希望识别包含目标字符串作为子字符串的字符串。
例如,考虑列表 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中文网其他相关文章!