Skip to content

序列解包

解包在英文里叫做 Unpacking,就是将容器里面的元素释放出来。Python 中的解包是自动完成的,例如:

python
# 元组解包
>>> a, b, c = (1, 2, 3)
>>> print(a, b, c)
1 2 3

# 列表解包
>>> a, b, c = [1, 2, 3]
>>> print(a, b, c)
1 2 3

# 用 _ 收集不用的变量(了解)
>>> _, _, c = tuple('abc')
>>> _, c
('b', 'c')

# 另外一种解包方式
>>> print(*range(10))
0 1 2 3 4 5 6 7 8 9

_ 是被舍弃的变量

列表推导式

推导式 comprehensions(又称解析式),是 Python 的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。

需求:创建一个 0-10 的列表。

python
>>> arr = []
>>> for index in range(1, 11):
...     if index % 2 == 0:
...         arr.append(f'包子 {index}')
...
>>> print('arr: ', arr)
arr:  ['包子 2', '包子 4', '包子 6', '包子 8', '包子 10']


>>> arr1 = [f'包子 {index}' for index in range(1, 11) if index % 2 == 0]
>>> print('arr1:', arr1)
arr1: ['包子 2', '包子 4', '包子 6', '包子 8', '包子 10']