Skip to main content
 首页 » 编程设计

python之在 Python 函数中返回变量输出

2025年05月04日9txw1958

我有一个返回列表的函数。当我知道列表中的元素数量时,我可以执行以下操作:

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 
>>>