【问题标题】:How to add 2 list from a function without using global variables?如何在不使用全局变量的情况下从函数中添加 2 个列表?
【发布时间】:2015-11-28 17:09:37
【问题描述】:

在这个问题中,我需要创建一个首先初始化 2 个列表的函数。

def inscription():
    listeJudo = [150, 250, 190, 230]
    listePatinage = [110, 200, 125, 130]

然后我需要调用另一个函数,将这两个列表加在一起,并对这些列表中的元素进行求和。我不允许使用全局变量。如何使用函数参数来做到这一点?

将列表作为参数传递给我的其他函数的正确方法是什么?

def addLists():
    sumLists = inscription(listeJudo+listePatinage)

?

【问题讨论】:

  • 只需将列表作为参数传递给另一个函数。列表只是对象

标签: python function python-3.x arguments


【解决方案1】:

这是如何将参数传递给函数并返回结果。

我通过修改添加了您的函数 - 现在它返回列表

def inscription():
    list_1 = [150, 250, 190, 230]
    list_2 = [110, 200, 125, 130]
    return list_1, list_2

def add_lists(first_list, second_list):
    #results = sum(first_list+second_list)

    results = []
    for a, b in zip(first_list, second_list):
        results.append(a+b)

    return results

listeJudo, listePatinage = inscription()

sum_lists = add_lists(listeJudo, listePatinage)

【讨论】:

  • 使用这个方法我得到了我的列表没有定义的错误,因为它们来自我的第一个函数。我不能使用全局变量在其他函数中使用它们。
  • 您的答案因质量低下而正在接受审核。请对您的代码进行解释。
【解决方案2】:

所以从我从你的问题中得到的,你想要另一个函数将列表加在一起,然后对元素求和?

def inscription():
 listeJudo = [150, 250, 190, 230]
 listePatinage = [110, 200, 125, 130]
 sumOfLists = sumLists(listeJudo, listePatinage)

def sumLists(first, second):
  sumOfValuesList = [x + y for x, y in zip(first, second)]
  sumOfCombinedList = sum(sumOfValuesList)
  return sumOfCombinedList

【讨论】:

  • 对。第一个函数运行良好,但当我进入第二个函数时,我发现我的列表没有定义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 2013-10-19
相关资源
最近更新 更多