1. 程式人生 > 其它 >Python——逗號(,)解包

Python——逗號(,)解包

技術標籤:pythonpython程式語言

首先描述逗號解包的作用:將等號右邊列表的值拆分成幾個部分,分別賦值給等式左邊被逗號分隔開的幾個變數。

接下來給出詳細的示例解釋。

1.列表長度為2

#列表中的元素將被拆分為兩個單值分別傳遞給a,b
list=[1,2]
a,b=list
print(a,b)

列表[1,2]將被拆分成1和2分別傳遞給a和b,執行結果見下:
在這裡插入圖片描述

2.列表長度為1

#使用解包寫法,列表將轉換為單值傳遞給變數
list=[1]
a,=list
print(a)

單元素列表將轉換為單值傳遞給變數a,資料型別發生了轉變。以下是執行結果:
在這裡插入圖片描述
如果感興趣,可以自己動手驗證一下,直接將list賦值給a,a也將是一個list,可以試著列印看看輸出有什麼不同。

注意:,a=list是錯誤寫法(注意逗號的位置)

3.列表長度大於2

首先提醒讀者注意,如果解包的長度大於1,需要在被賦值的變數前加*。見以下示例:

#[1,2,3,4]將作為一個列表賦值給a
list=[1,2,3,4,5]
*a,b=list
print(a,b)

[1,2,3,4]將作為一個列表賦值給a, 5將作為一個整形賦值給b。見執行結果:
在這裡插入圖片描述
當然,你也可以解包,並賦值給多個變數:

list=[1,2,3,4,5]
a,*b,c=list
print(a,b,c)

執行結果:在這裡插入圖片描述

4.在字典中使用解包

首先宣告,在字典中使用解包,只能解包鍵,並不能解包值。

dictionary={
'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4} a,b,*c=dictionary print(a) print(b) print(c)

只有鍵(全部是字母)被解包,而值(數字部分沒有被解包)。見執行結果:
在這裡插入圖片描述