“列表”对象不可调用:TypeError

时间:2019-05-02 09:28:59

标签: python-3.x list function

我有一个返回2个值的函数。当我尝试在另一个函数中的列表中获取这些值时,出现以下错误:

  

“列表”对象不可调用:TypeError

这里是返回两个值的函数。

def function(): 
    return val1, val2

这是另一个调用function()的函数:

def function1():

    values = []
    values = function()
    value_1 = values[0]
    value_2 = values[1]

3 个答案:

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