Python——逗號(,)解包
阿新 • • 發佈:2020-12-19
首先描述逗號解包的作用:將等號右邊列表的值拆分成幾個部分,分別賦值給等式左邊被逗號分隔開的幾個變數。
接下來給出詳細的示例解釋。
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)
只有鍵(全部是字母)被解包,而值(數字部分沒有被解包)。見執行結果: