是否有内置函数可以确定类的实例是否存在于列表中?
目前我是通过一个综合来实现的。
>>> class A:
... pass
...
>>> l1=[5,4,3,A(),8]
>>> e=[e for e in l1 if isinstance(e,A)]
如果可迭代对象中有任何一个元素为真,则返回
True
。如果可迭代对象为空,则返回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
可以短路并在找到第一个 True
值时返回 True
(不像列表推导式那样)。
True
值时,any
会短路并立即返回True
。 - mgilson