【发布时间】:2011-12-28 15:43:31
【问题描述】:
【问题讨论】:
标签: python string list substring
【问题讨论】:
标签: python string list substring
试试这个测试:
any(substring in string for substring in substring_list)
如果substring_list 中的任何子字符串包含在string 中,它将返回True。
请注意,在链接的问题中有 Marc Gravell's answer 的 Python 类似物:
from itertools import imap
any(imap(string.__contains__, substring_list))
在 Python 3 中,您可以直接使用map:
any(map(string.__contains__, substring_list))
不过,使用生成器表达式的上述版本可能更清晰。
【讨论】:
next(substring for substring in substring_list if substring in string),它将返回第一个匹配的子字符串,如果没有匹配则抛出StopIteration。或者使用一个简单的循环:for substring in substring_list: if substring in string: return substring.