我有一个返回列表的函数。当我知道列表中的元素数量时,我可以执行以下操作:
x,y,z=foo()
但是,列表中的元素数量可以变化。我想做类似的事情
x,y*=foo()
其中 x 将包含返回列表中的第一个元素,而 y* 将包含剩余元素的剩余部分。显然,Python 不支持这种语法。这有哲学上的原因吗?我是不是想错了?
提前致谢。
请您参考如下方法:
你的语法没有哲学上的异议,事实上,Python 3.1 支持它:
>>> a, *b = range(10)
>>> a
0
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> # Or even more flexibly:
>>> a, *b, c = range(10)
>>> a
0
>>> b
[1, 2, 3, 4, 5, 6, 7, 8]
>>> c
9
>>>
