如何使用较少的变量解压缩列表?

时间:2012-03-15 22:39:54

标签: python

k = [u'query_urls', u'"kick"', u'"00"', u'msg=1212', u'id=11']

>>> name, view, id, tokens = k
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

我需要提供5个变量来解压缩这个列表。有没有办法用更少的东西解压缩,以便tokens得到列表的其余部分。我不想写另一行来附加到列表....

感谢。


当然我可以切片列表,单独分配等等。但我想知道如何使用上面的语法做我想做的事。

1 个答案:

答案 0 :(得分:28)

在Python 3中,您可以这样做:(编辑:这称为extended iterable unpacking

name, view, id, *tokens = k

在Python 2中,你必须这样做:

(name, view, id), tokens = k[:3], k[3:]