9

クラスのインスタンスがリストに存在するかどうかを判断する組み込み関数はありますか?
現在、私は理解を通してそれをやっています

>>> class A:
...     pass
...     
>>> l1=[5,4,3,A(),8]
>>> e=[e for e in l1 if isinstance(e,A)]
4

1 に答える 1

16

any(iterable)

Trueiterable のいずれかの要素が true である場合に返します。iterable が空の場合は、 を返しFalseます。

>>> class A(object): # subclass object for newstyle class (use them everywhere)
        pass

>>> l1=[5,4,3,A(),8]
>>> any(isinstance(x, A) for x in l1)
True

ジェネレータ式を使用する

(isinstance(x, A) for x in l1)

と組み合わせてany、最初の値を見つけるanyと短絡して戻ることができます (リスト内包表記とは異なります)。TrueTrue

于 2013-05-23T04:49:45.507 に答える