2016-05-11 9 views
0

文字列(カンマで区切られた項目)があり、文字列内の項目(または分割後の項目)が長い文字列に含まれているかどうかを確認する必要があります。配列内の項目の文字列を確認する

私のような長いスタイルでこれを行う方法を知っている:

people="first,second" 
test='hello_first' 

for i in people.split(","): 
    if i in test : 
      print 'found' 

は、1行にforifを組み合わせるためのより良い方法はありますか?

anyなどを使用していますか?

if any(x in people.split(",") for x in test) : 
    print 'found' 

'found'と表示されないようです。任意の単語をテストしている場合

+0

'for'と' if'を組み合わせる方法や、 'if'文を入れ子にした' for'ループを使いたいと思っていますか? –

答えて

2

は、任意のチェックを使用してください:あなたがテストをチェックしているよう

if any(word in test for word in people.split(",")): 
    # do whatever 

あなたの論理は間違っている、あなたの最初のループと一致しない単語の分割リストです。

+0

これは、元のネストされたループと正確には同じではないことに注意してください。そのループは 'print 'found'' N回実行します(Nは' people.split('、 ')' –

+2

@AdamSmith、OPは単語が一致するかどうかを知りたいと思っていて、2番目のスニペットごとに間違っていただけです。 –

+1

ああ、私は同意しています。 –

関連する問題