所以我有一个数组[1,2,3,4,5,6,7,8,9,10]
我需要创建一个新的数组,将第一个5
元素和下一个5
元素加在一起,等等。所以1+2+3+4+5=15
,6+7+8+9+10=40
[15,40]
。我该怎么做呢?
答案 0 :(得分:4)
你可以这样做:
>>> l1 = [1,2,3,4,5,6,7,8,9,10]
>>> l2= [sum(l[n:n+5]) for n in range(0, len(l), 5)]
>>> l2
[15, 40]
答案 1 :(得分:1)
你可以这样做:
def sumEach5Element(input):
o = []
for i in range(0, len(input), 5):
o.append(sum(input[i:i+5]))
print(o)
sumEach5Element([1,2,3,4,5,6,7,8,9,10])
答案 2 :(得分:1)
您可以按照以下流程操作:
arr1 = [1,2,3,4,5,6,7,8,9,10]
arr2 = [sum(arr1[:len(arr1)//2]), sum(arr1[len(arr1)//2:])]
print(arr2)
# output :
[15, 40]
答案 3 :(得分:0)
简单解决方案(我还考虑过一个数组,它有许多不能被5整除的元素):
my_array = [1,2,3,4,5,6,7,8,9,10,11]
output_array = []
for i in range(len(my_array)/5):
tmp = my_array[i*5:(i+1)*5]
output_array.append(sum(tmp))
# check if you can divide by 5
mod = len(my_array)%5
if mod > 0:
output_array.append(sum(my_array[-mod::]))
答案 4 :(得分:0)
arr = [1,2,3,4,5,6,7,8,9,10]
def addList(sub):
result = sum(list(sub))
return result
def breakTheList(arr, num):
for i in range(0, len(arr), num):
subDiv = arr[i:i + num]
print(addList(subDiv))
breakTheList(arr, 5)
# 15 40
上面的代码可以将列表分成任意多个部分并添加这些部分。这是另一个例子
breakTheList(arr, 4)
#10 26 19