You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Numpy问题:如何由一维整数数组生成对应重复次数与数值的新数组

实现方案

核心思路

直接使用Numpy内置的repeat方法即可一步完成,该方法支持为每个元素指定独立的重复次数,刚好匹配你的需求:

  • 第一步计算每个a元素对应要填充的分段值:CONSTANT / 对应a元素
  • 第二步将每个分段值重复对应a元素次,拼接后即为目标数组b

完整代码示例

import numpy as np

# 输入参数
a = np.array([2,3,3,4])
CONSTANT = 120

# 生成目标数组
segment_values = CONSTANT / a
b = np.repeat(segment_values, a)

# 如果需要输出整数类型,可以加astype转换
# b = np.repeat(segment_values, a).astype(int)

print(b)

输出结果:

array([60, 60, 40, 40, 40, 40, 40, 40, 30, 30, 30, 30])

纯Python实现(可选,适合小规模数组)

如果不想依赖Numpy,也可以用列表推导实现:

a = [2,3,3,4]
CONSTANT = 120
b = [val for num in a for val in [CONSTANT/num]*num]
# 转整数的话可以替换为 [CONSTANT//num]*num

内容的提问来源于stack exchange,提问作者Alex Parthemer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:18:02