Python序列解包中傳入list後用list進行for迴圈無法完成?

時間 2021-06-02 22:37:16

1樓:

你應該是把序列解包和def頭函式收集引數搞混了,序列解包需要在函式呼叫中加*號,即demo(*a)。要想迴圈5次有兩種方法:頭函式和函式呼叫都不加*,或者都加*。

你這種寫法相當於lst=(a)=(),lst中只有乙個型別為list的元素

2樓:

因為Python這個特性是把傳進去的引數打包成tuple啊。

你想要的是demo('0', '7', '5', '3', '2')

然後lst就是元組('0', '7', '5', '3', '2')了

3樓:碎冰

很簡單啊,這個根本沒解包

for l, r in enumerate(lst):

print(l, r)

只輸出0,[.....]

本來就是乙個list而已。

4樓:MAZE

def demo(*lst)

你函式變數為乙個解包*lst的時候,

demo( ['1','2','3','4','5']) 在函式裡輸入乙個list

定義的變數*lst等於輸入量,所以:

*lst == ['1','2','3','4','5']此時lst變成了乙個封包:

lst == ( ['1','2','3','4','5'])所以 for x in lst時

x == ['1','2','3','4','5']

python如何生成乙個序列,是隨機仍20次骰子組合的序列,並把連續相同的打上括號?

python如何生成乙個序列,是隨機仍20次骰子組合的序列,並把連續相同的打上括號?比如這樣 1 2 5 5 3 1 2 4 3 2 2 2 2 3 6 5 5 6 3 1 解答的思路 核心思想是先生成二十次結果,然後遍歷一遍這個結果陣列,找到重複數字的下標範圍。把每一次遍歷中的結果都儲存到乙個結果...

java中什麼是序列化,怎麼通俗理解序列化和反序列化?

Marco Chen 通俗理解。要搬家了,家具太大,不好搬。按說明書拆了,一塊塊的木板就節省了空間。序列化 到新家了。按照說明書重新把木板組裝成家具。反序列化 上面有乙個核心就是要有說明書。不然不知道如何拆卸和組裝。不同的說明書就代表不同的拆卸和組裝的方法。即不同的序列化方式 Seven0007 在...

python中enumerate object究竟是一種怎樣的存在形式呢?

l Ass We Can type of l is tuplee enumerate l type of e is enumerate objectforv inenumerate e type of enumerate e is enumerate object print v type of v...