python矩阵转置

代码转置后输出的矩阵有空格想把最后一个空格删除,示例为:2 2
1 2
2 1
输出后的矩阵最后一个数字后有空格怎么删除呀

img


row,col=map(int,input().split())
mat=[]
for i in range(row):
    lst=[eval(i) for i in input().split()]
    mat.append(lst)

mat1=[]
for i in range(col):
    lst1=[]
    for j in range(row):
        lst1.append(mat[j][i])
    mat1.append(lst1)
n=len(mat1)
m=len(mat1[0])
for i in range(n):
    for j in range(m):
        print(mat1[i][j],end=" ")
    print()

不建议使用 end= " " 来输出,这样在处理最后一个空格的时候比较麻烦。
其实可以直接用 * 对容器解包,然后利用 print() 函数里默认的 sep = " " 来输出,这样所有元素都只在间隔里出现空格。
比如,你的代码里最后输出的那个嵌套循环,可以改成这样的单循环即可:

for i in range(n):
    print(*mat1[i])