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
得到列表的其余部分。我不想写另一行来附加到列表....
感谢。
当然我可以切片列表,单独分配等等。但我想知道如何使用上面的语法做我想做的事。
答案 0 :(得分:28)
在Python 3中,您可以这样做:(编辑:这称为extended iterable unpacking)
name, view, id, *tokens = k
在Python 2中,你必须这样做:
(name, view, id), tokens = k[:3], k[3:]