Python: 如何检查字符串中是否含有列表中的子字符串?

137 投票
1 回答
197238 浏览
提问于 2025-04-17 06:17

我想知道怎么在Python中检查一个字符串里是否包含列表中的某些子字符串,就像在检查一个字符串是否包含列表中的元素(字符串)那样。

1 个回答

292

试试这个测试:

any(substring in string for substring in substring_list)

如果在 string 这个字符串中包含了 substring_list 列表里的任何一个子字符串,它会返回 True

注意,这里有一个和 Marc Gravell 的回答 类似的 Python 方法:

from itertools import imap
any(imap(string.__contains__, substring_list)) 

在 Python 3 中,你可以直接使用 map 来实现:

any(map(string.__contains__, substring_list))

不过,使用生成器表达式的版本可能更清晰一些。

撰写回答