2011-11-14 53 views

回答

71

你可以做个试验:

any(substring in string for substring in substring_list) 

如果substring_list任何字符串都包含在string它将返回True

注意,存在的Marc Gravell's answer在链接的问题一个Python类似物:

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

可能使用一个生成表达上述版本更清晰虽然。

+3

@newtover:[Generator expressions](http://docs.python.org/tutorial/classes.html#generator-expressions)没有方括号。 –

+2

有什么方法可以在返回True时获取子字符串? – vagabond

+2

@vagabond如果没有匹配,你可以使用'next(substring中substring的子字符串,如果字符串中的substring)',它将返回第一个匹配的子字符串,或者抛出'StopIteration'。或者使用一个简单的循环:'substring_list中的子字符串:if substring in string:return substring'。 –

相关问题