【发布时间】:2012-06-03 07:29:15
【问题描述】:
正如here 所提到的,您可以使用星号来解压未知数量的变量(例如在函数中),但仅限于 python 3:
>>> a, *b = (1, 2, 3)
>>> b
[2, 3]
>>> a, *b = (1,)
>>> b
[]
在 python 2.7 中,我能想到的最好的方法是(不可怕,但很烦人):
c = (1, 2, 3)
a, b = c[0], c[1:] if len(c) > 1 else []
有没有办法像除法一样从 __future__ 导入这个,或者我需要自己的函数在 python 2.7 中进行未知长度的解包?
【问题讨论】:
-
没有。这是为数不多的 Py3k only 功能之一。
-
这叫扩展解包