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

如何从两个数组生成新数组:按值映射替换原数组元素

Python数组映射替换解决方案

你需要将list_a中的数值按固定对应关系替换为list_b中的值,核心是建立数值到目标值的映射,下面提供两种简洁的实现方式:

方法一:字典映射法

先创建一个映射字典,把需要替换的原数值和目标值一一对应,再遍历原数组生成新数组,扩展性更强(后续新增数值只需更新字典):

list_a = [20, 20, 20, 21, 21, 22, 20, 21, 23, 20, 23, 24]
list_b = [120, 121, 122, 123, 124]

# 建立原数值与目标值的映射关系
mapping = dict(zip([20, 21, 22, 23, 24], list_b))
# 遍历原数组完成替换
newList = [mapping[num] for num in list_a]

print(newList)
# 输出:[120, 120, 120, 121, 121, 122, 120, 121, 123, 120, 123, 124]

方法二:索引计算法

观察到原数值和list_b的索引有固定差值(原数值-20=对应索引),直接通过索引取值,代码更简洁:

list_a = [20, 20, 20, 21, 21, 22, 20, 21, 23, 20, 23, 24]
list_b = [120, 121, 122, 123, 124]

# 利用数值与索引的固定关系直接取值
newList = [list_b[num - 20] for num in list_a]

print(newList)
# 输出:[120, 120, 120, 121, 121, 122, 120, 121, 123, 120, 123, 124]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:12:45