2011-11-14 95 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'。 –

相關問題