リストの任意の要素に対して条件が満たされているかどうかを確認する Python の方法 質問する

リストの任意の要素に対して条件が満たされているかどうかを確認する Python の方法 質問する

Pythonのリストがあり、要素が負かどうかをチェックしたいのですが、すべての要素に「負」のチェックを適用して、負の要素があるかどうかを確認するための簡単な関数または構文はありますか?ドキュメンテーション似たようなものは見つかりませんでした。私が思いついた最良のものは次のとおりです。

if (True in [t < 0 for t in x]):
    # do something

これはあまり洗練されていないと思います。Python でこれを行うより良い方法はあるでしょうか?


参照リストのすべての要素が条件に一致するかどうかを確認するにはどうすればよいですか?すべての要素の条件をチェックします。「any」と「all」のチェックは関連していることに留意してください。ド・モルガンの法則により「または」と「そして」が関連しているのと同じです。

anyここでの既存の回答では、反復処理を実行するために組み込み関数を使用しています。Python の any 関数と all 関数はどのように機能しますか?anyおよびその対応するものの説明についてはall、を参照してください。

チェックしたい条件が「別のコンテナに見つかる」の場合は、次の項目のいずれかがリスト内にあるかどうかを確認するにはどうすればよいですか?そしてそれに対応する次の項目がすべてリストに含まれているかどうかを確認するにはどうすればよいですか?とを使用するanyall機能しますが、より効率的なソリューションも可能です。

ベストアンサー1

どれでも():

if any(t < 0 for t in x):
    # do something

また、「True in ...」を使用する場合は、ジェネレータ式にして、O(n) メモリを消費しないようにします。

if True in (t < 0 for t in x):

おすすめ記事