python - 矩阵的标量乘法(int 不可下标)
问题描述
问题:给定一个 M∗N 矩阵和一个变量 K,打印标量乘法后的结果矩阵。我写的代码:
n,m,k=map(int,input().split())
mat1=[]
for i in range(n):
mat1.append(list(map(int,input().split())))
for i in range(n):
for j in range(m):
mat1=mat1[i][j] * k
for i in range(n):
for j in range(m):
print(mat1[i][j],end=" ")
print()
错误:
Traceback (most recent call last):
File "C:/Users/91934/PycharmProjects/pythonProject/main.py", line 8, in <module>
mat1=mat1[i][j] * k
TypeError: 'int' object is not subscriptable
解决方案
您正在mat1
使用此行将列表变量替换为数值,从而导致上述错误:
mat1=mat1[i][j] * k
相反,您应该指定由索引分配的嵌套列表项:
mat1[i][k] = mat1[i][j] * k
或者:
mat1[i][j] *= k
推荐阅读
- java - 如何访问项目中的文件?
- reactjs - 不变量失败:您不应该使用
外面 - flutter - 如何在 Container 中垂直扩展 TextField 以覆盖 Flutter 中的所有可用空间
- windows - 如何找到使用 CM_Get_Device_Interface_List 发现的调制解调器的 com 端口号
- javascript - JavascriptExecutor 不执行滚动操作
- python - 按组使用另一列上一行中的值
- javascript - 在一行中替换转换为数组的字符串末尾的值?
- vim - 不要在 (neo)vim 中使用 scrolloff=5 进行鼠标点击
- angular - 什么是相当于 setTimeout() 的 Typescript / Angular 7(异步)
- ionic-framework - 我的键盘输入无法在 Ionic 4 中提交表单