我有一个返回2个值的函数。当我尝试在另一个函数中的列表中获取这些值时,出现以下错误:
“列表”对象不可调用:TypeError
这里是返回两个值的函数。
def function():
return val1, val2
这是另一个调用function()
的函数:
def function1():
values = []
values = function()
value_1 = values[0]
value_2 = values[1]
答案 0 :(得分:1)
function()
返回两个值,这些值不能存储在单个变量'values'中,因此,使function()
返回这两个值的list
def function():
return [val1,val2]
def function1():
values=function()
value_1=values[0]
value_2=values[1]
您不需要values=[]
,因为无论如何它会被values=function()
覆盖
答案 1 :(得分:0)
你在这里
def function():
#return any predefined value here
return 1, 2
def function1():
values = []
a,b = function()
values.append(a)
values.append(b)
print(values)
function1()
输出:
[1, 2]
答案 2 :(得分:0)
您的代码不应引发该异常,因为从函数返回的是元组。 但是,这是代码的修改后的版本,可返回列表。
def function():
val1 = 10
val2 = 20
#return the values in a list
return [val1, val2]
def function1():
values = function()
value_1 = values[0]
value_2 = values[1]
print(value_1, value_2)
function1()
输出:
10 20