【发布时间】:2017-12-31 05:30:30
【问题描述】:
给定一个列表,我怎样才能找到列表部分的总和?例如:
a = [2,5,4,6,8]
sum(a) = 25
我想知道列表中的一部分是否达到了某个数字。
列表部分应该有一定的长度。这是我的目标:
ex_list = [2,5,4,6,8]
dif_list = partsum(ex_list, 3)
print(dif_list) ==> [11, 13, 15, 12, 14, 16, 15, 17, 19, 18]
“dif_list”中的每个元素都是通过从“ex_list”中取出 3 个数字并将它们相加得出的,即 2+5+4 = 11、2+5+6 = 13、2+5+8 = 15、 2+4+6 = 12 等
也供参考:
ex_list = [2,5,4,6,8]
another_list = partsum(ex_list, 4)
print(another_list) ==> [17, 19, 21, 20, 23]
因为 2+5+4+6 = 17、2+5+4+8 = 19 等
基本上,partsum(thing, num) 将获取 'thing' 的 'num' 个项目,将它们相加,并将其附加到一个新列表中。感谢所有帮助,谢谢!
【问题讨论】:
-
你需要这个更大的上下文是什么?
-
所以你想要所有与
num元素及其总和的组合? -
如果你想找到partitions,使用组合是效率最低的方法。
-
所有数字都是正数吗?