1. ホーム
  2. python

[解決済み] リストの任意の要素について条件が成立するかどうかを確認する Pythonic な方法

2022-05-27 22:54:32

質問

Pythonでリストを持っていて、要素が負かどうかを調べたいのですが、どうすればいいですか? Specmanでは has() メソッドがあります。

x: list of uint;
if (x.has(it < 0)) {
    // do something
};

ここで it はリストの各要素に順番にマッピングされたSpecmanキーワードです。

これはかなりエレガントだと思います。 私は Python ドキュメント を見てみましたが、似たようなものは見つかりませんでした。 私が思いついた最高のものは

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

私はこれがかなり非礼であると思います。 Pythonでこれを行うには良い方法はありますか?

どのように解決するのですか?

任意の() :

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

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

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