首先,我对python和编程都很陌生,而且我很难掌握嵌套for循环和嵌套列表的概念。 在下面的代码中,我试图将每个列表放在列表list1中,并使用for循环对它们求和。我知道范围功能会以某种方式提供帮助。
代码:
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]
答案 0 :(得分:0)
你可以通过使用列表理解来实现这一点,它是python提供的最好的东西之一。它真的使你的代码变得简单易懂。 以下发布我的帮助。如果您愿意,可以在列表理解上进行更多搜索。
http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/
def sum_list(list1):
return [sum(inner_list) for inner_list in list1]
print sum_list([[4, 7, 9], [4, 5, 2], [4, 5, 6]])
答案 1 :(得分:0)
您的代码中存在一些逻辑问题。在重置总计以及何时将结果附加到list_of_sums时要仔细考虑。
def sum_list(list):
list_of_sums = []
for sublist in list:
total = 0
for value in sublist:
total += value
list_of_sums.append(total)
return list_of_sums