Python程序设计实战-demo2
题目:输入一个3*3的整数矩阵(每个数小于1000),进行行列转置输出。
题目样式:
1 2 3 1 4 7
4 5 6 转置为 2 5 8
7 8 9 3 6 9
题目分析:
1.由1~9这个9个数字分3行3列进行输出。
2.转置后的结果行列颠倒。
解题思路:
可以通过列表将这九个数分为三组(3个小列表)放入大列表中,通过for循环遍历列表的索引进行操作。
代码如下:
list=[]
list1=[i for i in range(1,4)]
list2=[i for i in range(4,7)]
list3=[i for i in range(7,10)]
list.append(list1)
list.append(list2)
list.append(list3)
#上面的一部分也可以写为[[1,2,3],[4,5,6],[7,8,9]]
for a in list:
for b in a:
print(b,end=" ")
print()
转置前结果为:
C:\Users\asus\AppData\Local\Programs\Python\Python37\python.exe "G:/python学习/python实例/Unicode 12288编码实现古诗居中输出.py"
1 2 3
4 5 6
7 8 9
进程已结束,退出代码为 0
转置后的代码如下:
list=[[1,2,3],[4,5,6],[7,8,9]]
for m in range(3):
for n in range(3):
for k in range(m,m+1):
print(list[n][k],end=" ")
print()
转置后的结果为:
C:\Users\asus\AppData\Local\Programs\Python\Python37\python.exe "G:/python学习/python实例/Unicode 12288编码实现古诗居中输出.py"
1 4 7
2 5 8
3 6 9
进程已结束,退出代码为 0
以上为矩阵行列转置的解决方案,方法多多,适合自己的才是最好的。