Python:如何知道容器中是否存在类的实例化?

Python:如何知道容器中是否存在类的实例化?,python,Python,我对python还很陌生,我还没有想出如何解决这个简单的问题。我做了一些研究,但要么我没有发现,要么我不知道该怎么办。。。我的问题是: 如何知道容器(如列表)中是否存在类的实例; 我想做一些像 if class in list : 我知道这是一个非常简单的问题,但老实说,我找不到合适的语法来让它工作:/使用内置函数 flag = False for obj in your_list: if isinstance(obj, class): flag = True

我对python还很陌生,我还没有想出如何解决这个简单的问题。我做了一些研究,但要么我没有发现,要么我不知道该怎么办。。。我的问题是: 如何知道容器(如列表)中是否存在类的实例; 我想做一些像

if class in list :
我知道这是一个非常简单的问题,但老实说,我找不到合适的语法来让它工作:/

使用内置函数

flag = False
for obj in your_list:
    if isinstance(obj, class):
        flag = True
        break


您可以使用
isinstance
内置函数测试对象是否是某个
类的实例化,使用
any
内置函数测试iterable的任何成员是否符合您的条件:

>>> class A:
        pass

>>> stuff = [1,2,A()]
>>> any(isinstance(a, A) for a in stuff)
True


仅供参考:Python中的所有对象都是某种类型的
类的实例化(甚至
类本身也是如此!),因此没有必要查看
列表中的对象是否是任何类的实例化,由于
列表
中的所有内容都将是。

任何调用中都不需要方括号。
在Python中是一个关键字,不要将其用作标识符。为什么要查找?Python代码通常遵循这种风格。嗯,明白你的意思了吧,我的意思是一个类一个类地实例化这个类,但多亏了你们,它现在可以工作了!
>>> class A:
        pass

>>> stuff = [1,2,A()]
>>> any(isinstance(a, A) for a in stuff)
True