You need to enable JavaScript to run this app. Python中合并不同尺寸数组生成指定5×8结果的方法
优惠活动
大模型
产品
解决方案
定价
更多

Python中合并不同尺寸数组生成指定5×8结果的方法

Python 不同尺寸数组的合并实现方法

实现两个形状为(5,5)和(3,3)的数组合并为指定5×8格式数组的核心逻辑是:先将小尺寸数组通过补零对齐到与大数组相同的行数,再完成横向拼接。这类场景使用NumPy处理代码简洁、计算效率高,具体步骤如下:

  • 第一步:导入依赖,初始化目标数组
import numpy as np
arr_large = np.full((5, 5), 5.0)  # 5行5列、元素全为5的数组
arr_small = np.full((3, 3), 1.0)  # 3行3列、元素全为1的数组
  • 第二步:给小数组补零,对齐到大数组高度
    小数组比大数组少2行,仅在小数组的末尾补2行全零元素,不改动原有列数:
# 计算需要补充的零行数
pad_length = arr_large.shape[0] - arr_small.shape[0]
# 执行补零:上侧不补行、下侧补pad_length行;左右侧均不补列
arr_small_aligned = np.pad(
    arr_small,
    pad_width=((0, pad_length), (0, 0)),
    constant_values=0
)
  • 第三步:横向拼接两个已对齐的数组
merged_result = np.hstack([arr_large, arr_small_aligned])

执行后得到的merged_result完全匹配预期的格式:

[[5. 5. 5. 5. 5. 1. 1. 1.]
 [5. 5. 5. 5. 5. 1. 1. 1.]
 [5. 5. 5. 5. 5. 1. 1. 1.]
 [5. 5. 5. 5. 5. 0. 0. 0.]
 [5. 5. 5. 5. 5. 0. 0. 0.]]

补充说明:如果不依赖NumPy,纯Python列表也可以手动实现——先给小列表对象的末尾追加两个长度为3的全零子列表,再逐行将大列表的每一行与补零后的小列表对应行做列表拼接。但处理大尺寸数组时,NumPy的运行效率远高于原生列表实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.04 01:24:03