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

如何用Python将一维数组循环填充至5×5全1矩阵?

Python实现一维数组循环填充5×5矩阵

需求说明

现有一个5×5的全1矩阵:

[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]

以及一个包含10个元素的一维数组:

[0.72222515 1.25003225 0.11767353 0.16121767 0.27926356 0.78412963
 0.08371721 1.77536532 1.67636045 0.55364691]

需要将该一维数组按前5个元素为第一行、后5个为第二行,循环重复这两行的规则,填充为目标5×5矩阵:

[[0.72222515 1.25003225 0.11767353 0.16121767 0.27926356]
 [0.78412963 0.08371721 1.77536532 1.67636045 0.55364691]
 [0.72222515 1.25003225 0.11767353 0.16121767 0.27926356]
 [0.78412963 0.08371721 1.77536532 1.67636045 0.55364691]
 [0.72222515 1.25003225 0.11767353 0.16121767 0.27926356]]

实现方法

方法1:利用numpy的reshape和tile快速实现

numpy提供了便捷的数组操作工具,适合处理这类矩阵填充需求:

import numpy as np

# 定义原始一维数组
arr = np.array([0.72222515, 1.25003225, 0.11767353, 0.16121767, 0.27926356,
                0.78412963, 0.08371721, 1.77536532, 1.67636045, 0.55364691])

# 将一维数组拆分为2行5列的基础块
block = arr.reshape(2, 5)
# 重复基础块3次(得到6行),截取前5行即为目标矩阵
result = np.tile(block, (3, 1))[:5]

print(result)

方法2:手动循环构造(无需numpy)

如果不想依赖第三方库,也可以用纯Python列表操作实现:

# 定义原始一维数组
arr = [0.72222515, 1.25003225, 0.11767353, 0.16121767, 0.27926356,
       0.78412963, 0.08371721, 1.77536532, 1.67636045, 0.55364691]

# 拆分出两个基础行
row1 = arr[:5]
row2 = arr[5:]
# 循环生成5行,奇数行用row1,偶数行用row2
result = [row1 if i % 2 == 0 else row2 for i in range(5)]

for row in result:
    print(row)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:55:18