python中list可以將循環專場列表為什麼元組不行?
如下圖,list可以將循環轉成列表,普通的數字為什麼就錯誤了?是不支持,只支持循環嗎?
錯誤提示不是說的很清楚了麼,list最多接受一個參數但是提供了4個。
雖然直接用逗號分隔的元素就可以表示元組,但是做參數情況下,語法檢查時候參數表優先順序別更高。
所以只能多加一層括弧了。
很簡單啊,不支持變長參數。來寫scala吧,List(1,2,3,4,5) 給你過。
當有報錯時,請先查看報錯。
如果看不懂,複製後打開有道翻譯。或者直接百度錯誤提示。
能更快得到答案
看文檔:
&>&>&> help(list)
Help on class list in module builtins:
class list(object)
| list(iterable=(), /)
|
| Built-in mutable sequence.
|
| If no argument is given, the constructor creates a new empty list.
| The argument must be an iterable if specified.
list只接受一個iterable作為參數。
所以,可以這樣:
&>&>&> list((1,2,3,4,5))
[1, 2, 3, 4, 5]
# 或直接
&>&>&> l = [1,2,3,4,5]
可迭代對象纔可以
你要輸入一個參數,這個算好多參數了,你試著在這些數字加個括弧
list()可以看成一個函數,可以接受一個可迭代對象作為參數,list(3,4,5,6,7,8)相當於給它傳了6個數字參數,而不是1個元組參數,前面的回答都很清楚了,加個括弧就行。
list()是轉化括弧內的類型,因為python裡面是沒有指定這種括弧裡面可以放哪種類型的參數,所以如果放多個參數的話,會產生不知道如何拼接list的情況,出現報錯,你可以把list(3,4,5,6,7,8)裡面的數字加一個括弧,list((3,4,5,6,7,8))這樣就相當於把元組轉化為list了。
推薦閱讀: