2011-11-14 3 views
30

가능한 중복 : 기본적으로Python : 목록에서 문자열의 하위 문자열을 확인하는 방법은 무엇입니까?

, 내가 좋아하는 것까지 :
Check if multiple strings exist in another string

파이썬에 대한 어디 기능과 같은 this 코드의 동등한를 찾을 수 없습니다 목록에 포함 된 하위 문자열에 대한 문자열을 확인하십시오. substring_list의 문자열 중 하나가 string에 포함되어있는 경우가 True를 반환합니다

any(substring in string for substring in substring_list) 

:

답변

71

이 시험을 봅니다.

링크 된 해당 Marc Gravell's answer의 파이썬 아날로그가 있음을

참고 :

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

아마 발전기 식을 사용하여 위의 버전은하지만 명확하다.

+3

@newtover : [발전기 표현 (http://docs.python.org/tutorial/classes.html#generator-expressions) 대괄호가 없습니다. –

+2

거기에 True를 반환 할 때 부분 문자열을 가져 오는 방법이 있습니까? – vagabond

+2

@vagabond 첫 번째로 일치하는 하위 문자열을 반환하는'next (문자열의 하위 문자열 인 경우 substring_list의 하위 문자열에 대한 하위 문자열)'을 사용할 수 있습니다. 일치하지 않으면'StopIteration'을 발생시킵니다. 또는 간단한 루프를 사용하십시오 :'for substring_list : substring in string : substring in return substring'을 사용하십시오. –

관련 문제