### 問題:
現在有一個包含 N 個元素的元祖或者是序列,怎樣將它里面的值解壓后同時賦值給N個變量。
*****
### 解決方案:
任何的序列(或者是可迭代對象)可以通過一個簡單的賦值語句解壓并賦值給多個變量。唯一的前提就是變量的數量必須跟序列元素的數量是一致的。
*****
##### 例:解包元祖
```Python
p = (4,5)
x,y = p
print(x,y) # 4 5
```
**如果變量個數和序列元素的個數不匹配,會產生一個異常**
示例:
```Python
p = (4, 5)
x, y,z = p
print(x, y,z)
ValueError: not enough values to unpack (expected 3, got 2)
```
**這種解壓賦值可以用在任何可迭代對象上面,而不僅僅是列表或者元祖。包括字符串,文件對象,迭代器,生成器**
示例:
```Python
p = 'hello'
a, b, c, d, f = p
print(a, b, c, d, f) # h e l l o
```
*****
**有時候,你可能只想解壓一部分,丟棄其他的值。對于這種情況 Python 并沒有提供特殊的語法。但是你可以使用任意變量名去占位,到時候丟掉這些變量就行了。**
```
data = ['hello', 10, 50, 90.1, (2019, 10, 10)]
_, a, b, _, d = data
print(a) # 10
print(b) # 50
print(d) # (2019, 10, 10)
```
> **這里使用 _ 去占用丟棄的值的位置。可以使用任意變量名去占位,但是必須保證選用的占位變量在其他地方沒被使用到,**
原文來自:http://python3-cookbook.readthedocs.io/zh_CN/latest/c01/p01_unpack_sequence_into_separate_variables.html
**如果解壓不確定個數或任意個數元素,那該如何呢?且看下一章**