我正试图写一个代码,给我们一个子列表和的列表。例如,如果输入的列表是[[5,4],[2,1,7],[1]],我们将得到这个结果作为回报[9,10,1]。 我的老师要求我们不要使用求和函数,因为我们还没有学会它。 我目前有一个代码,但有一些事情我不确定,它总是返回一个空列表
这就是我所拥有的:
def sumSublist(inital_list):
i = 0
initial_list = list()
finalList = []
while i < len(initial_list):
sublist = list[i]
for j in sublist:
sublistsum = 0
sublistsum += j
finalList.append(sublistsum)
i += 1
return finalList
print(sumSublist([[5, 4], [2, 1, 7], [1]]))
它会打印:[] 任何帮助或建议都会大有帮助,谢谢
如果只是一个包含一层嵌套列表的列表,则可以轻松执行此操作:
正常方式:
不使用
sum()
您可以考虑首先定义在一个数字列表上运行的^ {CD1>}函数,然后将其应用到^ {CD2>}的每一个列表中(在我的例子中,它是^ {CD3>}):
您的解决方案存在几个问题:
initial_list
,而不是inital_list
李>initial_list[i]
,这是不正确的:list[i]
李>initial_list = list()
(这就是结果为空的原因。)sublistsum = 0
,这就是为什么这一部分必须在内环之前进行李>finalList.append(sublistsum)
必须在内部循环之后李>这将解决以下问题:
但是,如果我们始终使用
for
,上述解决方案可以简化:但在现实生活中,我们应该使用
sum
和列表理解,这就是我们用Python编写惯用解决方案的方式:无论如何,它的工作原理与预期相符:
相关问题 更多 >
编程相关推荐