Python代码解析

第一道:

本题要求编写程序,将一个给定的 n×n 方阵转置(行列互换)后输出。

输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:
输出转置后的n行n列矩阵,每个数占4位。

输入样例:
3
1 2 3
4 5 6
7 8 9
输出样例:
   1   4   7
   2   5   8
   3   6   9
 


arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
 
#方法1
ar2 =[]
for i in range(len(arr[0])):
    b =[]
    for j in range(len(arr)):
        b.append(arr[j][i])
    ar2.append(b)
print(ar2)
 
#方法2
ar2 = list(map(list,zip(*arr)))
print(ar2)
 
#方法3
ar2 = [ [row[i] for row in arr] for i in range(len(arr[0])) ]
print(ar2)