创建一个限制以找到数组值的总和到设定的数字 Numpy Python

Creating a limit to find the sum of array values to a set number 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))