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

如何将数组元素添加至NumPy矩阵?附代码示例

如何将数组元素添加到NumPy矩阵中?

嘿,你给出的示例代码直接在np.mat()的字符串里写z[0]是行不通的——因为这个字符串参数是纯文本格式,NumPy不会自动解析其中的Python变量。下面给你几个实用的解决方法:

方法一:先初始化矩阵,再赋值指定位置

这种方法适合先搭建矩阵框架,再把列表元素填入对应位置:

import numpy as np

z = [1, 2]
# 先创建一个2行4列的空矩阵(初始值设为0占位)
A = np.mat(np.zeros((2, 4)))
# 给第一行第二列(索引从0开始)赋值z[0]
A[0, 1] = z[0]
# 填充其他固定值
A[0, 0] = 12
A[0, 2] = -12
A[0, 3] = 6
A[1, 0] = 6
A[1, 1] = 4
A[1, 2] = -6
A[1, 3] = 2

print(A)

方法二:用字符串格式化插入变量值

如果你习惯用字符串定义矩阵的方式,可以通过Python的字符串格式化,提前把z[0]的实际值插入到字符串中:

import numpy as np

z = [1, 2]
# 用f-string把z[0]的值替换进矩阵字符串
matrix_str = f"12,{z[0]},-12,6;6,4,-6,2"
A = np.mat(matrix_str)

print(A)

这种方式会先把z[0]的数值(也就是1)代入字符串,生成"12,1,-12,6;6,4,-6,2",再传给np.mat()解析。

方法三:用数组拼接构建矩阵

这是最直观灵活的方式,直接把列表元素嵌入到行数组中,再组合成矩阵:

import numpy as np

z = [1, 2]
# 定义每一行的元素,直接把z[0]加入第一行
row1 = [12, z[0], -12, 6]
row2 = [6, 4, -6, 2]
# 将两行组合成矩阵
A = np.mat([row1, row2])

print(A)

这种方式完全避开了字符串解析的问题,也是日常使用中最推荐的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:12:29