首页 > 解决方案 > Python - 从列表中生成矩阵

问题描述

我正在尝试创建具有以下条件的矩阵:

  1. 获取给定列表的长度。

  2. 对于该列表的长度,将一个增量整数附加到该列表的前面。

  3. 生成这些值的矩阵。

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

例如,在矩阵中查找 [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] 模式的方式不会像我想的那样工作。

标签: python

解决方案


你可以这样做:

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])

5

推荐阅读