如何在python中解压缩?

时间:2015-06-05 15:41:01

标签: python python-2.7

我试图理解它是如何工作的,但我不能这样做。

>>> l = (1, 2, 3)
>>> a, b, c = l  # a = 1; b = 2; c = 3

分配给变量的每个元素。但是如果数量解包变量不等于可迭代对象的大小,我们将捕获异常。

>>> l = ('first', 'second')
>>> a, b, c = l
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 2 values to unpack

当变量不够时发生同样的异常

>>> l = ('first', 'second', 3)
>>> a, b = l
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

但是如果我想创建函数来解压缩任何大小的可迭代对象,我可以这样做吗?像这样:

>>> l = ('first', 'second')
>>> a, b, c = unpacking(l)  # a = 'first'; b = 'second'; c = None

如何在引擎盖下进行可迭代拆包?当迭代器停止?如何理解变量?如何定义必须返回多少个对象?

0 个答案:

没有答案