Sequence Unpacking
Python 中有一種 data type 叫做 sequence,屬於 iterable 的一種,我們可以將一個 sequence 中的各個元素分別指派給不同變數,這個動作就叫做 unpacking。
Tuple Unpacking
a, b = (1, 2)
print(a) # 1
print(b) # 2
# 其實可以不用寫 `(` 與 `)`
a, b = 1, 2
也可以利用這個性質進行「變數交換值」:
a, b = b, a
# 在其它語言中,必須使用 temp 才能交換內容,所以至少會有三行
temp = a
a = b
b = temp
List Unpacking
a, b = [1, 2]
print(a) # 1
print(b) # 2
Tuple unpacking 與 list unpacking 也可以應用在 for loop 中:
e.g.
m = [[1, 2], [3, 4], [5, 6]]
for a, b in m:
print(a, b)
String Unpacking
a, b = "ab"
print(a) # a
print(b) # b
Last updated