python矩阵基本知识

发布时间:2026/7/2 17:33:57
python矩阵基本知识 矩阵即二维数组1 2 3 4 53 4 5 6 71 2 2 4 53x5的矩阵python中表示L[[1,2,3,4,5],[3,4,5,6,7],[1,2,2,4,5]]python中求出长(3)、宽(5)mlen(L)#长 nlen(L[0])#宽元素的位置L[1][2]为5相邻位置关系表达L[i][j]上方的元素是L[i-1][j]下方的元素L[i1][j]左边的元素L[i][j-1]右边的元素L[i][j1]L[i-1][j]L[i][j-1]L[i][j]L[i][j1]L[i1][j]遍历矩阵顺序遍历#按元素的方式遍历 for i in L: #i遍历的是L中的每一个小列表 for j in L: ##j遍历的是小列表i种的每一个元素 print(j) #按坐标的方式遍历 for i in range(m): for j in range(n): print(L[i][j])上三角遍历123453456712245三层循环第0层0n第1层1n第2层2n#按坐标的方式遍历 for i in range(m): for j in range(i,n): print(L[i][j])下三角循环123453456712245for i in range(m): for j in range(0,i1): print(L[i][j])回字形遍历矩阵加法1 2 3 4 53 4 5 6 71 2 2 4 53 3 3 3 32 2 2 2 21 1 1 1 1L1[[1,2,3,4,5],[3,4,5,6,7],[1,2,2,4,5]] L2[[3,3,3,3,3],[2,2,2,2,2],[1,1,1,1,1]] mlen(L1) nlen(L1[0]) #矩阵初始化mxn的全0 L3[[0 for j in range(n)] for i in range(m)] for i in range(m): for j in range(n): L3[i][j]L1[i][j]L2[i][j] #遍历L3矩阵转置转置前123453456712245转置后131242352464575L[[1,2,3,4,5],[3,4,5,6,7],[1,2,2,4,5]] mlen(L) nlen(L[0]) #矩阵初始化mxn的全0 L3[[0 for i in range(m)] for j in range(n)] for i in range(m): for j in range(n): L3[j][i]L[i][j] #遍历L3矩阵乘法1 2 32 3 43 4 51 1 12 2 23 3 3结果矩阵中的第i行第j列个元素第一个矩阵的第i行 乘 第二个矩阵的第j列结果矩阵中的第0行第0列个元素第一个矩阵的第0行(1 2 3)第二个矩阵的第0列(1 2 3)(1 2 3) x (1 2 3) 1x1 2x2 3x314141414212121262626L1[[1,2],[3,4]] L2[[4,3],[2,1]] L2_mlen(L2) L2_nlen(L2[0]) L2_trans[[0 for i in range(L2_m)] for j in range(L2_n)] for i in range(L2_m): for j in range(L2_n): L2_trans[j][i]L2[i][j] L1_mlen(L1) L3[[0 for i in range(L2_n)] for j in range(L1_m)] for i in range(len(L1)): for j in range(len(L2_trans)): L1_rowL1[i] L2_colL2_trans[j] a0 for k in range(len(L1_row)): a L1_row[k]* L2_col[k] L3[i][j]a8 520 13