タイトルだとわかりにくいですが、例えば、以下のようなケースを想定しています。
・配列の中身が['aaa', 'bbb', 'ccc']
・検査対象の文字列がaaaxxxyyyyzzz
・検査対象の文字列が配列の中身の文字列を含むか(この場合aaaを含むのでTrueになってほしい)
そのまま書くなら、forループで回して文字列検査をすればよいです。
array = ['aaa', 'bbb', 'ccc'] target = 'aaaxxxyyyyzzz' for a in array: if a in target: print('文字列を含む') break else: print('含まない')
この場合、aaaが含まれているので1回目のループで文字列を含むと判定され、breakされます。
ただ、この書き方だと少し冗長なので、以下のように書くこともできます。
array = ['aaa', 'bbb', 'ccc'] target = 'aaaxxxyyyyzzz' result = any((a in target) for a in array) print(result)
any((a in target) for a in array) の部分で、前述のループと同じ判定を行っています。
これだけを見ると複雑ですが、分解してみていけばそこまで難しくはありません。
まず、for a in array の部分で、array配列から要素を1つずつ取って、変数aに入れています。
そして、(a in target) の部分でtargetに変数aが含まれているかを判定しています。
これをarray配列の要素ぶん繰り返します。
any()は、どれか一つでもTrueになればTrueとみなす、という命令になります。
この例だと、targetがarray内のどれか一つの要素の文字列を含んでいればTrueとなります。
逆に、all((a in target) for a in array) と書けば、すべてのループでTrueとなったときのみTrueとみなす、とすることができます。