【发布时间】:2017-03-22 09:15:28
【问题描述】:
首先,我对 python 和一般编程非常陌生,我正在努力掌握嵌套 for 循环和嵌套列表的概念。 在下面的代码中,我试图获取列表 list1 中的每个列表并使用 for 循环对它们求和。我知道 range 函数会有所帮助。
代码:
def sum_list(list1):
list_of_sums = []
total = 0
for l in list1:
for value in l:
total = total + value
list_of_sums.append(total)
return list_of_sums
输入测试:
list1 = [[4, 7, 9], [4, 5, 2], [4, 5, 6]]
print(sum_list(list1))
输出:
[4, 11, 20]
期望的输出:
[20, 11, 15]
【问题讨论】:
-
没有人回答。让我们把它变成一个学习时刻,一步一步地经历它。
-
首先,修正缩进。
-
在
list_of_sums.append(total)之后,加上print(l, value, total, list_of_sums)。这将使您了解正在发生的事情和时间。您应该注意到一些不寻常的事情。 -
@Jean-FrançoisFabre 实际上,缩进本身就是问题的 90%。不重新初始化
total是另外 10%。 -
@AlexHall 我们在这里通过发布我们拥有的知识来帮助用户。让我们在分享中学习。但是您投票的方式对任何海报都不利。别再劝阻别人了
标签: python nested-loops nested-lists