Python-从列表生成矩阵

Python-从列表生成矩阵,python,Python,我试图创建一个矩阵,条件如下: 获取给定列表的长度 对于该列表的长度,在该列表的前面追加一个增量整数 生成这些值的矩阵 该矩阵的目标是能够根据矩阵中的特定位置执行查找。增量整数将是一个“建筑”,下面的值是到达另一个建筑的时间 例如,在矩阵中查找[0][2],从1号楼到2号楼需要5分钟 输入: myList=['0 5 7 3', '4 0 3 6', '6 4 0 4', '4 5 6 0'] 预期矩阵: 1 0 5 7 3 2 4 0 3 6 3 6 4 0 4 4 4 5 6 0 你有什

我试图创建一个矩阵,条件如下:

  • 获取给定列表的长度

  • 对于该列表的长度,在该列表的前面追加一个增量整数

  • 生成这些值的矩阵

  • 该矩阵的目标是能够根据矩阵中的特定位置执行查找。增量整数将是一个“建筑”,下面的值是到达另一个建筑的时间

    例如,在矩阵中查找[0][2],从1号楼到2号楼需要5分钟

    输入:

    myList=['0 5 7 3', '4 0 3 6', '6 4 0 4', '4 5 6 0']
    
    预期矩阵:

    1 0 5 7 3
    2 4 0 3 6
    3 6 4 0 4
    4 4 5 6 0
    

    你有什么想法可以找到最有效的方法吗?我试着用字典来处理它,但我想用矩阵[0][2]的访问模式的方式无法按我想的方式工作。

    首先,创建一个列表:

    list_of_lists = []
    for string in myList:
      string_list = string.split(' ')
      int_list = [int(x) for x in string_list]
      list_of_lists.append(int_list)
    
    第二,使用numpy:

    import numpy
    matrix = numpy.array(list_of_lists)
    

    首先,创建一个列表:

    list_of_lists = []
    for string in myList:
      string_list = string.split(' ')
      int_list = [int(x) for x in string_list]
      list_of_lists.append(int_list)
    
    第二,使用numpy:

    import numpy
    matrix = numpy.array(list_of_lists)
    
    你可以做:

    myList = ['0 5 7 3', '4 0 3 6', '6 4 0 4', '4 5 6 0']
    
    result = [[i] + [int(n) for n in s.split()] for i, s in enumerate(myList, 1)]
    
    for row in result:
        print(*row)
    
    输出

    1 0 5 7 3
    2 4 0 3 6
    3 6 4 0 4
    4 4 5 6 0
    
    有了它,您可以:

    print(result[0][2])
    
    输出(结果[0][2])

    你可以做:

    myList = ['0 5 7 3', '4 0 3 6', '6 4 0 4', '4 5 6 0']
    
    result = [[i] + [int(n) for n in s.split()] for i, s in enumerate(myList, 1)]
    
    for row in result:
        print(*row)
    
    输出

    1 0 5 7 3
    2 4 0 3 6
    3 6 4 0 4
    4 4 5 6 0
    
    有了它,您可以:

    print(result[0][2])
    
    输出(结果[0][2])