あなたはこれを行うことはできません:
if any(x in string for x in word_list)
print x
関数はany文字列/リスト全体を反復処理し、変数を破棄してから、単純にブール値 (または)xを返すためです。TrueFalse
ただし、関数を分解してany、目的の出力を得ることができます。
string ='I love traveling all over the world'
word_list =['I love','traveling','all over the world']
for x in word_list:
if x in string:
print x
これは出力されます:
>>>
I love
traveling
all over the world
>>>
次を使用して更新しstring.split()ます。
string =['I', 'love','traveling','all', 'over', 'the', 'world']
word_list =['I love','traveling','all over the world']
count=0
for x in word_list:
for y in x.split():
if y in string:
count+=1
if count==len(x.split()) and (' ' in x) == True:
print x
count=0
これは出力されます:
>>>
I love
all over the world
>>>