Leetcode刷题之旅–数组–转置笔记(python)
1.python库函数(zip)
return [list(lows
) for lows
in list(zip(*A
))]
*A应该表示指针传递的意思吧,对于lows与zip的矩阵A都需要是list形式
2.行列转换其一
m
,n
= len(A
),len(A
[0])
ans
=[[None]*m
for _
in range(n
)]
for low
in len(m
):
for rol
in len(n
):
ans
[rol
][low
]=A
[low
][rol
]
return ans
m是行数-len(A),n是列数-len(A[0]) ans定义数组的长度大小,其中: [0*m for _ in range(n)] 是创建数组,为深拷贝: m个0,维数为n 这里即为n列,m行 再分别对行数m,列数n遍历,将A的行列变换赋值到ans中。
3.行列转换其二
ans
=[]
for rol
in range(len(A
[0])):
temp
=[]
for low
in range(len(A
)):
temp
.append
(A
[low
][rol
])
ans
.append
(temp
)
return ans
先定义空列表ans作为整体存储,temp为存储每一列中所有行元素的列表,将它们存到行中,再将temp存到ans中。对列数进行遍历。
to be continued…