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…