将列表作为参数传递给另一个函数

时间:2019-09-02 15:50:15

标签: python function arguments

创建一个列表并计算其总和。

我在一个函数中创建了一个列表。我将该列表传递给名为v的变量。 在下一个函数中,我创建了一个函数以返回该列表的总和。

plot(data$x, data$y, pch=19, col=data$level)
legend ("topleft", levels(data$level), fill=0:3)

我的代码正在执行两次第一个函数。我有什么办法可以将列表(v)传递给其他函数,以使程序按预期运行?

3 个答案:

答案 0 :(得分:1)

您只需要将返回的结果存储在变量中,如下所示:

v = creat_list(list_size)
print(v)
print(sum_list(v))

请注意,v中的creat_list变量对函数来说是 local ,并且一旦返回就不会存在于函数之外。

答案 1 :(得分:0)

def list_generator(list_size):
  v = [int(input('Digit number\n')) for i in range(0,list_size)]
  return v
  

它返回您的列表,在这种情况下,您已经直接将其传递给print()函数,而没有将其保存以备将来使用。

您可以选择将其保存在这样的变量中:

v = list_generator(list_size)
  

然后您可以将v作为参数传递给您的list_sum乐趣:

def list_sum(v):
  return sum(v)

您遇到v中未定义的错误list_sum,因为v既不是该特定函数的已定义局部变量,也不是作为参数传递的

答案 2 :(得分:-1)

这就是你想要的吗?

def list_generator(list_size):
  v = [int(input('Digit number')) for i in range(0, list_size)]
  return v


def list_sum():
  return sum(v)


list_size = 3
v = list_generator(list_size)
print(v)
print(list_sum())