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

Python Numpy按规则对合并后数组应用乘数并修改的实现方法

实现方案

有两种常用实现方式,你可以根据实际场景选择:

方案1:直接修改已有的a_and_b数组

因为a_and_b是a、b元素交叉拼接生成的,a的元素全部位于数组的偶数索引位(0、2、4、6……),b的元素全部位于奇数索引位(1、3、5、7……),直接按索引切片赋值即可:

import numpy as np 

a_multiplier = 3
b_multiplier = 5

a = np.array([5,32,1,4])
b = np.array([1,5,11,3])
a_and_b = np.array([5,1,32,5,1,11,4,3])

# 偶数位元素对应a的原始值,乘对应系数
a_and_b[::2] *= a_multiplier
# 奇数位元素对应b的原始值,乘对应系数
a_and_b[1::2] *= b_multiplier

print(a_and_b)

运行后输出为:[15 5 96 25 3 55 12 15],和预期结果一致。

方案2:先缩放原数组再交叉拼接

如果你还没有生成a_and_b,这个方案逻辑更清晰,不容易出错:

import numpy as np 

a_multiplier = 3
b_multiplier = 5

a = np.array([5,32,1,4])
b = np.array([1,5,11,3])

# 先对两个原数组做系数缩放
a_scaled = a * a_multiplier
b_scaled = b * b_multiplier
# 交叉拼接生成结果数组
a_and_b = np.column_stack((a_scaled, b_scaled)).flatten()

print(a_and_b)

运行后输出和方案1完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:24:03