如何创建10×10全0矩阵及clash(i,j)=0赋值报错求解
问题解决
报错原因
clash(i,j)=0是非法Python语法:赋值语句等号左侧必须是可被赋值的对象(变量、列表下标、类属性等),clash(i,j)属于函数调用表达式,不支持直接赋值,因此触发can't assign to function call错误。- 现有矩阵初始化逻辑不符合需求:你当前用
[ [ i*j for i in range(N) ] for j in range(M) ]生成的是行号列号乘积的矩阵,不是你需要的全0矩阵。
修复后可运行代码
N = 10 # 列数 M = 10 # 初始化10*10全0矩阵 res = [[0 for _ in range(N)] for _ in range(M)] # 多行打印矩阵 print("Multiline representation") for i in range(N): for j in range(M): print(res[i][j], end=" ") print("")
补充说明
如果你后续需要修改矩阵中第i行第j列的取值,正确写法是res[i][j] = 目标值,不需要用clash(i,j)这类不符合语法的写法。
内容的提问来源于stack exchange,提问作者user14564115
相关产品推荐
相关产品推荐

