每当我试图在附加了对象的列表上使用list.count()
时,我就会遇到一个问题
我的代码示例如下所示:
class Person:
def __init__(self, Name, Age, Gender):
self.Name = Name
self.Age = Age
self.Gender = Gender
personlist = [Person("Joan", 15, "F"),
Person("Henry", 18, "M"),
Person("Marg", 21, "F")]
print(list.count(personlist))
每次我尝试这个,我都会
TypeError: list.count() takes exactly one argument (0 given)
有人能给我解释一下为什么python在列表中有3个对象时看到0个参数吗
您可能来自其他语言,其中
list.count(somelist)
返回列表中的元素数。在python中,情况有点不同list
是一个内置名称,您可以在其中将项目传递给它,它将为您创建一个list
。让我们看看list.count
:暂时忽略结尾处的
/
。如您所见,它返回value
内self
的出现次数。当您在列表实例上调用.count
时,您的实例将作为self
to count方法传递。所以您只需要将value
作为一个参数但是,当您在
list
本身上调用.count
时,Python需要知道您在谈论哪个列表:看看你问问题的方式,你可能想知道列表中的项目数。如果是这样的话,您应该使用
len
相关问题 更多 >
编程相关推荐