创建函数对列表列表中的值求和时出现错误
示例:寻求生成这种类型的输出
listtest = [1,2,3,4,5,6]
print(sum(listtest)) # output is 21
但是对于列表列表
listsample = [[1,2,3,4,5],[1,2,5,4,6,7],[7,8,9,5,6]]
# Desired_output= [15,25,35]
我知道这是可以做到的
listsample = [[1,2,3,4,5],[1,2,5,4,6,7],[7,8,9,5,6]]
result = list(map(sum,listsample))
print(result)
# Desired_output= [15,25,35]
如何操纵sum函数以使其在函数内无错误地通过?
我对尝试的方法和结果进行了评论,请不要评论测试或运行代码。
listsample = [[1,2,3,4,5],[1,2,5,4,6,7],[7,8,9,5,6]]
import itertools as itr
def sumrows(ls):
for i in ls:
for subls in range(0,len(i)):
# opt = 0
# opt = opt + i[subls] # -->> generates output of None
# return sum(subls for i in range(0,len(i))) # -->> generates unusual output of 0 - I'm not sure how this value is arrived at
# return list(map(sum, subls)) # -->> generates error " 'int' object is not iterable "
# return list(i(sum((subls)))) # -->> generates error " 'int' object is not iterable "
# return list(i(sum(itr.chain.from_iterable(subls)))) # -->> generates error " 'int' object is not iterable "
print("output", sumrows(listsample))
您似乎正在尝试创建一个新sum
功能来接受列表列表:
def new_sum(l):
return [sum(e) for e in l]
listsample = [[1,2,3,4,5],[1,2,5,4,6,7],[7,8,9,5,6]]
print(new_sum(listsample))
# outputs [15, 25, 35]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句