如何在NumPy中高效按指定次数重复数组元素(无循环)
在NumPy中按指定次数重复数组元素(避免循环)
直接用NumPy内置的np.repeat()函数就能高效实现需求,这是专门针对这类元素重复场景设计的矢量化操作,完全不需要手动写循环。
核心代码示例:
import numpy as np A = np.array([1, 2, 3, 4, 5]) B = np.array([0, 0, 2, 1, 3]) result = np.repeat(A, B)
运行后result即为array([3, 3, 4, 5, 5, 5]),完全符合预期。
关键说明:
np.repeat()的第二个参数支持传入与第一个数组同长度的数组,用来指定每个元素的重复次数;- 当次数为0时,对应元素会被直接跳过,无需额外过滤;
- 该操作是底层优化的矢量化计算,性能远高于Python循环,处理大规模数组时优势尤其明显。
内容的提问来源于stack exchange,提问作者Денис Стафилов
相关产品推荐
相关产品推荐

