-1
只是想知道以下的列表:蟒:比較元組
print [()] == list(tuple()) # prints False
首先是含有空的元組列表,第二個是一個空列表。
爲什麼這段代碼輸出False而不是True(在python 2和3中結果相同)?
在此先感謝!
只是想知道以下的列表:蟒:比較元組
print [()] == list(tuple()) # prints False
首先是含有空的元組列表,第二個是一個空列表。
爲什麼這段代碼輸出False而不是True(在python 2和3中結果相同)?
在此先感謝!
您將列表與空列表中的一個元素(空元組)進行比較。 list(tuple())
不符合您的想法。
這是因爲list(object)
確實不是產生一個列表與該對象作爲一個元素。 list()
將轉換爲列表,該對象必須可迭代。它複製的元素出對象的:
>>> dictionary = {'foo': 'bar'}
>>> list(dictionary) # iteration over a dictionary produces keys
['foo']
你給它一個空的元組,所以結果是空列表:
>>> empty =()
>>> list(empty)
[]
tuple()
做同樣的事情,順便說一句。並且list()
和tuple()
沒有參數產生一個空的對象。
因爲它們不會產生相同的結果嗎?第一個是帶有1個元素的列表,第二個是帶有零個元素的列表。 'list()'**將一個迭代器轉換爲一個列表**。一個元組是一個可迭代的,你*將一個空元組轉換爲一個列表。 –
明白了,謝謝! – NI6