当前位置 主页 > 网站技术 > 代码类 >

    Python:二维列表下标互换方式(矩阵转置)

    栏目:代码类 时间:2019-12-02 21:07

    我就废话不多说了,直接上代码吧!

    #!/usr/bin/env python
    # coding:UTF-8
     
     
    """
    @version: python3.x
    @author:曹新健
    @contact: 617349013@qq.com
    @software: PyCharm
    @file: 二维列表下标互换(矩阵转置).py
    @time: 2018/12/30 10:24
    """
    '''
    矩阵转置
    将[[1,2,3],[4,5,6],[7,8,9]]
    转换为[[1,4,7],[2,5,8],[3,6,9]]
    '''
     
    '''
    #方法一:默认列表值均初始为0,防止换为位置时,坐标越界
    list1 = [[1,2,3],[4,5,6],[7,8,9]]
    list2 = [[0,0,0],[0,0,0],[0,0,0]]
    for i in range(3):
      for j in range(3):
        list2[j][i] = list1[i][j]
    print(list2)
    '''
     
    '''
    #方法二:互换位置,空列表插入值
    list1 = [[1,2,3],[4,5,6],[7,8,9]]
    list2 = [[],[],[]]
    for i in range(3):
      for j in range(3):
        list2[j].insert(i,list1[i][j])
    print(list2)
    '''
     
    '''
    #方法三:行列互换
    list1 = [[1,2,3],[4,5,6],[7,8,9]]
    print([[list1[j][i] for i in range(3)] for j in range(3)])
    '''
     
    #方法四:取每行的第i列,即列转换为行
    list1 = [[1,2,3],[4,5,6],[7,8,9]]
    print([[row[i] for row in list1] for i in range(3)])
    

    以上这篇Python:二维列表下标互换方式(矩阵转置)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。