我需要创建一个列表,其中包含一次三个列表的所有总和,即添加前3个元素,然后是下一个3

我需要创建一个列表,其中包含一次三个列表的所有总和,即添加前3个元素,然后是下一个3,第1张

概述参见英文答案 > How do you split a list into evenly sized chunks?                                    57个 我需要添加列表的前三个元素,然后添加列表的后三个元素,依此类推.这是我到目前为止的代码: def get_triple_sums_list(a_list): new_list = [] f 参见英文答案 > How do you split a list into evenly sized chunks?                                    57个
我需要添加列表的前三个元素,然后添加列表的后三个元素,依此类推.这是我到目前为止的代码:

def get_triple_sums_List(a_List):    new_List = []    for numbers in range(0,len(a_List)):        numbers = sum(a_List[:3])        new_List.append(numbers)        return new_List    if a_List == []:        return []

对于列表:

[1,5,3,4,2]

这反过来给了我结果:

[9]

我需要得到

[9,11]

如果剩下的数字小于3,它给我剩余的总和,即,

[1,6,2,3]

给我

[9,7]

[1,4]

给我吗

[9,4]
解决方法 我们来分析你的代码吧!

def get_triple_sums_List(a_List):    new_List = []    for numbers in range(0,len(a_List)):        numbers = sum(a_List[:3]) #You should be using the variable                                  #numbers here somehow.       #^^^^^^^ - You are overwriting the for-loop index.        new_List.append(numbers)        return new_List  #Why are you returning here? You should be                         #appending to `new_List`.    if a_List == []:        return []

这是固定代码:

def get_triple_sums_List(a_List):    new_List = []    for index in range(0,len(a_List),3): #Range takes a 3rd param!        total = sum(a_List[index:index+3])#Get all the elements from the                                          #index to index+3        new_List.append(total)    return new_List

更新:似乎正在进行缩短比赛 – 我不想被抛在后面.这是一个我想添加到列表中的丑陋版本.

>>> a = [1,7,8]>>> a += [0]*(len(a)%3) #For people who are too lazy to import izip_longest>>> map(sum,zip(a[::3],a[1::3],a[2::3]))[6,15,15]
总结

以上是内存溢出为你收集整理的我需要创建一个列表,其中包含一次三个列表的所有总和,即添加前3个元素,然后是下一个3全部内容,希望文章能够帮你解决我需要创建一个列表,其中包含一次三个列表的所有总和,即添加前3个元素,然后是下一个3所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存