Leetcode刷题之旅--数组--转置笔记(python)

    科技2022-07-10  152

    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…

    Processed: 0.021, SQL: 8