我想知道计算特定对象的出现次数(用户定义的类实例)在 Python 列表中的最好和最快的方法是什么?
例如,如果我们有一个名为MyClass
的类
class MyClass:
"""A simple example class"""
i = 42
def foo(self):
return “Hello world”
和一个由六个元素组成的列表myList
:
myList = [MyClass(), MyClass(), 2, 3, 'egg', MyClass()]
我们可以通过迭代 myList
并使用 isinstance()
函数来计算一个对象的出现次数,它是一个 MyClass
实例 :
count = 0
for item in myList:
if isinstance(item, MyClass):
count += 1
但是是否有更好或更pythonic的方法来做到这一点?
最佳答案
您可以使用 sum
进行此类计数,因为 True
等于一而 False
等于零:
count = sum(isinstance(x, MyClass) for x in myList)
关于python - 计算 Python 列表中的类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450638/