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

如何对复数矩阵索引做乘法得到新复数矩阵并解决Python代码TypeError问题

报错原因
  • 你定义的Matrix1是嵌套列表结构,每次循环拿到的i是单个列表对象(如[1.45 + 7.12j]),Python原生列表仅支持和正整数相乘实现列表重复操作,无法执行你需要的复数数值乘法,因此触发类型错误。此外你已导入numpy但并未使用numpy数组结构处理矩阵运算,也是问题来源之一。
修改方案

方案1:不使用numpy,仅修改原生列表逻辑

只需取出嵌套列表中的复数元素做计算,再按原结构存入即可:

Matrix1 = [[1.45 + 7.12j], [-7.42 + 7.42j]]
Matrix2 = [1, 0]
Product = []

for i, x in zip(Matrix1, Matrix2):
    Product.append([i[0] * x])

print(Product)

输出结果:

[[(1.45+7.12j)], [0j]]

方案2:使用numpy矩阵运算(推荐)

直接将列表转为numpy数组,利用广播机制完成批量运算,代码更简洁:

import numpy as np

Matrix1 = np.array([[1.45 + 7.12j], [-7.42 + 7.42j]])
Matrix2 = np.array([1, 0]).reshape(-1, 1)
Product = Matrix1 * Matrix2

print(Product)

输出结果:

[[1.45+7.12j]
 [0.  +0.j  ]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:12:03