Python 元组解包基础

在 Python 中,可以将包含 N 个元素的元组(tuple)或序列解包(unpacking)为 N 个独立的变量。本文将通过示例展示如何将元组解包为变量或参数。

1. Python 元组解包示例

可以使用简单的赋值操作将任何序列(或可迭代对象)解包为变量。唯一的要求是变量的数量必须与序列中的元素数量一致,且结构相匹配。

1.1 解包示例 – 1

最基本的元组解包操作:

>>> data = (1, 2, 3)
>>> x, y, z = data
>>> x
1
>>> y
2
>>> z
3

1.2 解包示例 – 2

解包也支持列表和嵌套结构:

>>> data = [ 'Lokesh', 37, 73.5, (1981, 1, 1) ]
>>> name, age, weight, dob = data
>>> name
'Lokesh'
>>> dob
(1981, 1, 1)

# 另一种变体:嵌套解包
>>> name, age, weight, (year, mon, day) = data
>>> name
'Lokesh'
>>> year
1981
>>> mon
1
>>> day
1

1.3 解包示例 – 3

字符串也是序列,同样可以进行解包:

>>> greeting = 'Hello'
>>> a, b, c, d, e = greeting
>>> a
'H'
>>> b
'e'
>>> c
'l'

2. 解包过程中可能出现的错误

变量数量与元素数量不匹配,Python 将抛出 ValueError 异常。

>>> p = (4, 5)
>>> x, y, z = p
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 2 values to unpack

说明

  • 本文示例基于 Python 3.x 版本,解包语法在 Python 2 和 Python 3 中基本一致。
  • 术语说明:文中“开箱”即社区通用的“解包”(_unpacking_)。

学习愉快!

相关文章

  1. Python 基础教程
  2. 在 SublimeEditor 中配置 Python 环境
  3. Python 代码中添加注释
  4. Python 中的变量的使用
  5. Python 中的数据类型
  6. Python 中的关键字
  7. Python 字符串操作
  8. Python 中的 list 操作
  9. Python 中的 Tuple 操作
  10. Pythonmax()和 min()– 在列表或数组中查找最大值和最小值
  11. Python 找到最大的 N 个(前 N 个)或最小的 N 个项目
  12. Python 读写 CSV 文件
  13. Python 中使用 httplib2–HTTPGET 和 POST 示例
  14. Python 将 tuple 开箱为变量或参数
  15. Python 开箱 Tuple–太多值无法解压
  16. Pythonmultidict 示例–将单个键映射到字典中的多个值
  17. PythonOrderedDict–有序字典
  18. Python 字典交集–比较两个字典
  19. Python 优先级队列示例