- unpacking 是一种特殊的 Python 语法
- 只需要一行代码,就能把数据结构里面的多个值分别赋给相应的变量。
- unpacking 在 Python 中应用广泛,凡是可迭代的对象都能拆分,无论它里面还有多少层迭代结构。
尽量通过 unpacking 来拆解序列之中的数据,而不要通过下标访问
不可变的序列,经常用索引去获取值,然而因为不可变,会导致被索引的值不可修改。 ```python pair = (‘Chocolate’, ‘Peanut butter’) pair[0] = ‘Honey’
Traceback … TypeError: ‘tuple’ object does not support item assignment ```
多重赋值解包 unpacking
- 代码更清晰
- 用于交换值
- 下面是冒泡排序:https://visualgo.net/zh/sorting?slide=7
```python
def bubblesort(a):
for in range(len(a)):
for i in range(1, len(a)):
if a[i] < a[i-1]:
a[i-1], a[i] = a[i], a[i-1] # Swap unpacking
- 下面是冒泡排序:https://visualgo.net/zh/sorting?slide=7
```python
def bubblesort(a):
for in range(len(a)):
for i in range(1, len(a)):
names = [‘pretzels’, ‘carrots’, ‘arugula’, ‘bacon’] bubble_sort(names) print(names)
[‘arugula’, ‘bacon’, ‘carrots’, ‘pretzels’] ```