序列解包 報錯原因

2021-07-11 03:57:57 字數 450 閱讀 1458

在學習小甲雨老師的《零基礎學python》的第29課時,遇到的報錯:

程式報錯:need more than 1 value to unpack,意思是說:(現在只有1個值)需要超過1個值來進行解包(賦值給兩個變數role和spoken)。

為什麼程式會認為each_line.split(':', 1)中只有乙個值?

猜測:某一行的each-line有問題,導致each_line.split(':',1)只返回乙個值。

嘗試:開啟record.txt,刪除檔案後的空白格,直至游標停留在最後一行最後乙個字元後面 ; 關閉檔案,再次執行程式。

結論:檔案record.txt 中,游標單獨占用一行,導致each_line.split(':'. 1)返回只有乙個值的列表。

python 序列解包

當函式或方法返回元組時,將元組中值賦給變數序列中的變數,這個過程就叫做序列解包。1 序列1,2,3被打包到元組values中 values 1,2,3 type values values 1,2,3 2 序列解包,元組values中的值分別被賦給變數序列中的x,y,z x,y,z values p...

python 序列解包

同時 並行 給多個變數賦值 x,y,z 1,2,3 print x,y,z 12 3交換多個變數的值 x,y y,x print x,y,z 21 3序列解包 可迭代物件解包 values 1,2,3 values 1,2,3 x,y,z values x 1元組 scoundrel key,val...

python序列解包

在呼叫函式傳遞引數時,1.可以在實參序列前加乙個星號 進行序列解 包,這裡的序列可以是元祖 列表 集合 字典的鍵 預設 字典的值 range物件 map物件 zip 生成器物件 貌似所有可迭代物件都行。2.或在實參字典前加兩個星號 進行解包,比如dic1 那麼add dic1 實際上等價於add a...