2013-03-11 108 views
0

當我輸入爲什麼python中的空列表長度爲3?

list = [] 

print(len(list)) 

它打印出3,不0

有誰知道爲什麼會發生這種情況?

我正在使用python 3.3。

+4

不是這樣:http://ideone.com/cCg5mL。 – 2013-03-11 00:32:31

+1

請注意,您也不應該使用名稱'list',因爲它是內置類型的名稱。 – poke 2013-03-11 00:39:34

+1

除了'list'之外,你是否還隱藏了內置的'len'函數? – eryksun 2013-03-11 04:30:52

回答

1

好了,得到這一結果的一種方式是通過以下方式:

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

要搞清楚你的​​情況發生了什麼,檢查什麼打印,LEN和列表的。這是他們應該

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

請注意,您在您的例子做

>>> list = [] 

這是不好的做法是你現在所覆蓋內置插件之一。這是有效的,但它可以讓人困惑。

+0

非常感謝。我現在知道了 – user2155059 2013-03-29 15:12:50

相關問題