【问题标题】:Creating a limit to find the sum of array values to a set number Numpy Python创建一个限制以将数组值的总和查找为一组数字 Numpy Python
【发布时间】:2021-10-26 14:40:46
【问题描述】:

我想创建一个函数,其中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]

【问题讨论】:

  • 您的预期输出中的64 来自哪里?
  • 请更好地解释预期输出

标签: python arrays numpy sum


【解决方案1】:

这样的?

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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-07
    • 2021-06-10
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 2017-12-30
    • 2021-02-20
    • 2021-06-11
    相关资源
    最近更新 更多