创建一个限制,以查找数组值的总和为一组数字Numpy Python



我想做一个函数,其中ArraysArrays2数组的和等于val。该函数应该修改ArraysArrays2的值,以便最后一个索引将输出数组中所有值的和为val。怎样才能得到预期的输出?

import numpy as np 
Arrays = np.array([50, 30, 25, 87, 44, 68, 45])
Arrays2 = np.array([320])
val = 300

预期输出:

[50, 30, 25, 87, 44, 64]
[300]

像这样?

import numpy as np 
Arrays = np.array([50, 30, 25, 87, 44, 68, 45])
Arrays2 = np.array([320])
val = 300

def thisRareFunction(arr):
outArrays = []
acum = 0
for x in arr:
acum += x
if acum <=val:
outArrays.append(x)
else:
outArrays.append(x -(acum-val))
break
return outArrays
print(thisRareFunction(Arrays))
print(thisRareFunction(Arrays2))

最新更新