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

Python中如何调整数组大小并重复元素?寻求简便实现方法

解决方法

你可以用numpy的np.repeat()函数实现需求,无需写循环,步骤如下:

  1. 先把原列表转成numpy数组:
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
  1. 先沿**横向(axis=1)将每个元素重复2次,再沿纵向(axis=0)**将每一行重复2次:
b = np.repeat(np.repeat(a, 2, axis=1), 2, axis=0)

执行后得到的b就是目标结果:

array([[1, 1, 2, 2, 3, 3],
       [1, 1, 2, 2, 3, 3],
       [4, 4, 5, 5, 6, 6],
       [4, 4, 5, 5, 6, 6],
       [7, 7, 8, 8, 9, 9],
       [7, 7, 8, 8, 9, 9]])

为什么numpy.resize()不符合需求?

resize()是直接修改数组形状,然后按内存中行优先的元素顺序填充新位置,会打乱原元素的对应位置,所以不适合这种需要保留原元素位置并重复的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:55:23