Python: How to check a string for substrings from a list? [duplicate]

Possible Duplicate:
Check if multiple strings exist in another string

I can't seem to find an equivalent of code that functions like this anywhere for Python:

Basically, I'd like to check a string for substrings contained in a list.


Solution 1:

Try this test:

any(substring in string for substring in substring_list)

It will return True if any of the substrings in substring_list is contained in string.

Note that there is a Python analogue of Marc Gravell's answer in the linked question:

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

In Python 3, you can use map directly instead:

any(map(string.__contains__, substring_list))

Probably the above version using a generator expression is more clear though.