python 序列解包

2021-08-19 00:03:27 字數 889 閱讀 9277

同時(並行)給多個變數賦值

>>> 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, value = scoundrel.popitem()

>>> key

'girlfriend'

>>> value

'marion'

等號左右兩邊的元素個數確保相同,或者使用運算子(*)來收集多餘的值

>>> a, b, *rest = [1, 2, 3, 4]

>>> rest

[3, 4]

將帶星號的變數放在其他位置

>>> first, *middle, last = name.split()

>>> middle

['middle1, middle2, middle3']

等號的左邊可以是任何型別的序列,但帶星號的變數最終包含的總是乙個列表

>>> x, *middle, y = "cool"

>>> middle

['o','o']

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序列解包

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

Python 序列封包和序列解包

序列封包和序列解包 python支援以下兩種賦值方式 程式把多個值賦給乙個變數時,python會自動將多個值封裝成元組。這種功能被稱為序列封包。程式允許將序列直接賦值給多個變數,此時序列的個元素會被依次賦值給每個變數 要求序列的元素個數和變數個數相等 這種功能被稱為序列解包。如下 所示 如果賦值過程...