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

Python中如何一次性为数组的多个索引位置设置相同值?

数组批量替换指定索引值的实现方案

Python 实现

方案1:原生列表实现(无第三方依赖,无显式for循环)

直接对指定索引位批量赋值即可,完全不需要用到循环逻辑:

a = [1,2,3,4,5,6,7]
a[1], a[4], a[5] = 10, 10, 10
print(a)
# 输出结果:[1, 10, 3, 4, 10, 10, 7]

方案2:使用numpy实现(适合索引数量多的场景)

如果需要替换的索引数量很多,逐个赋值太繁琐,可以用numpy数组的多索引批量赋值特性,全程不需要写for循环:

import numpy as np
a = [1,2,3,4,5,6,7]
replace_indexes = [1,4,5]
# 转为numpy数组后批量赋值
np_a = np.array(a)
np_a[replace_indexes] = 10
# 转回原生列表(如果需要)
a = np_a.tolist()
print(a)
# 输出结果:[1, 10, 3, 4, 10, 10, 7]

JavaScript 实现

如果是JS环境,同样可以用两种方式实现:

  • 索引数少的场景直接逐个赋值,无任何循环:
let a = [1,2,3,4,5,6,7];
a[1] = 10;
a[4] = 10;
a[5] = 10;
console.log(a);
// 输出结果:[1, 10, 3, 4, 10, 10, 7]
  • 索引数多的场景可以用forEach,不属于手写for循环的范畴:
let a = [1,2,3,4,5,6,7];
const replaceIndexes = [1,4,5];
replaceIndexes.forEach(idx => a[idx] = 10);
console.log(a);
// 输出结果:[1, 10, 3, 4, 10, 10, 7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:18:00