矩阵转置 将二维列表的列变成行
(该图为算法二)
list02 =[ [1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]
new_list = []
for i in range(len(list02[0])):
line = []
for j in range(len(list02)):
line.append(list02[j][i]) #将j列i个数字添加到line
new_list.append(line)
print(new_list)
#算法二
#list02[0][1] <-> list02[1][0]
#list02[0][2] <-> list02[2][0]
#list02[0][3] <-> list02[3][0]
#将相同不变,不同提变量
#for j in range(1,4):
# list02[0][j] <-> list02[j][0]
#list02[1][2] <-> list02[2][1]
#list02[1][3] <-> list02[3][1]
#将相同不变,不同提变量
#for j in range(2,4):
# list02[1][j] <-> list02[j][1]
#list02[2][3] <-> list02[3][2]
#将相同不变,不同提变量
#for j in range(3,4):
# list02[2][j] <-> list02[j][2]
#根据三个for循环进一步提炼
for i in range(len(list02)-1):
for j in range(1,len(list02)):
list02[i][j],list02[j][i]=list02[j][i],list02[i][j]
print(list02)