[英]What's the difference between [] and list
>>>list(123)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>>[123]
[123]
為什么list [123]在[]工作時會導致異常?
list()是一個類型構造函數。放在方括號中的內容必須是可迭代的,即可以使用循環來迭代的東西。 像字符串或整數列表或浮點數。 作為整數本身是不可迭代的。 list(123)給出錯誤。 但是如果您輸入list('123'); 然后它將返回一個列表為['1','2','3']。
在[123]的情況下,它表示單個整數123的列表。因此它可以工作。 就像在解釋器中編寫23並得到23一樣。
對於空列表,使用[]
會更好,因為它更快並且避免了名稱查找
內置的list()
對於將其他可迭代對象轉換為列表很有用。
因為list
是一個可調用對象,它以一個對象作為參數,並且必須是可迭代的,所以[]
是列表文字,並且理解提供的單個int應該是列表的唯一元素。
如果要使用list
,則必須將數字包裝到可迭代的list((123,))
,例如list((123,))
。
list()構造函數的語法為:
list([iterable])
而且int是不可迭代的。 所以..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.