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 你有什
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])