Python: 如何检查字符串中是否含有列表中的子字符串?
我想知道怎么在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))
不过,使用生成器表达式的版本可能更清晰一些。