【问题标题】:Why does an empty list in python give a length of 3?为什么python中的空列表的长度为3?
【发布时间】:2013-03-11 00:30:09
【问题描述】:

当我输入时

list = []

print(len(list))

它打印出3,而不是0。

有人知道为什么会这样吗?

我正在使用 python 3.3。

【问题讨论】:

  • 这里没有:ideone.com/cCg5mL.
  • 请注意,您也不应该使用名称list,因为这是内置类型的名称。
  • 除了list,你是否也遮蔽了内置的len功能?

标签: list python-3.x


【解决方案1】:

嗯,获得该结果的一种方法是:

>>> len = lambda x : 3
>>> print(len(list))
3

要弄清楚您的情况发生了什么,请检查 print、len 和 list 是什么。他们应该是这样的:

>>> print
<built-in function print>
>>> len
<built-in function len>
>>> list
<class 'list'>
>>> 

请注意,您在示例中这样做

>>> list = []

这不是一个好的做法,因为您现在会覆盖其中一个内置插件。这行得通,而且是允许的,但它可能会令人困惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多