为什么我不能在Python中找到`len(list)`?

时间:2010-03-09 11:18:59

标签: python

我是Python的新手。我有一个方法开始:

def foo(self, list):
    length = len(list)

我在其他情况下成功调用了len(),但在此我得到了:

TypeError: object of type 'type' has no len()

如何说服Python传入的这个对象是一个列表?我错过了什么?

3 个答案:

答案 0 :(得分:5)

因为list是列表类型的名称。

使用其他名称。

def foo(self, lst):
    length = len(lst)

并确保您没有像这样致电foo

Foo.foo(list)

答案 1 :(得分:5)

你是内置的阴影。您传递给foo方法的值不是列表对象,而是list类型,没有任何长度。

答案 2 :(得分:2)

好像你在type()上呼叫list这是一种类型本身。不要将名称list用于列表,因为它已经是内置类型。使用Lmylist或其他任何内容都可以使用。