我遇到的问题似乎无法在我的算法中解决。
我们说我有:
func1(x)
返回一个2元素元组,我也有
func2(y,z)
我想用那个元组。但每次我尝试在function2上将其称为
func2(func1)
我收到错误"缺少1个必需的位置参数:"因为函数接收元组为:
func2((tuple1st_element, tuple2nd_element),)
而不是
func2(tuple1st_element, tuple2nd_element)
我怎样才能做到后者呢?
答案 0 :(得分:2)
使用*
argument unpacking syntax:
func2(*func1())
以下是演示:
>>> def func1():
... return 1, 2
...
>>> def func2(a, b):
... return a + b
...
>>> func2(*func1())
3
>>>
或者,简单来说,这样做:
func(*(1, 2))
相当于:
func(1, 2)