嗨,例如,我有一个包含这些标题的列表:
edges1=['a', 'g', 'w', 'Q']
list1=[[0, 2, 0, 9], [2, 0, 15, 2], [0, 15, 0, 7], [9, 2, 7, 0]]
和
edges2=['a', 'w', 'Q', 'front', 'Z']
list2=[[0, 0, 0, 12, 0], [0, 0, 0, 2, 0], [0, 0, 0, 3, 5], [12, 2, 3, 0, 2], [0, 0, 5, 2, 0]]
如您所见,这些是以矩阵形状保存的图形。我需要将它们加在一起,每当它是一个共同的边时,我应该选择较低的值并将其放在最终的矩阵中。
最终答案应该是这样的:
a:g:w:Q:front:Z
0 2 0 9 12 0
2 0 15 2 0 0
0 15 0 7 2 0
9 2 7 0 3 5
12 0 2 3 0 2
0 0 0 5 2 0
列表表单中的应如下所示:
Final_list:[[0,2,0,9,12,0],[2,0,15,2,0,0],[0,15,0,7,2,0],[9,2,7,0,3,5],[12,0,2,3,0,2],[0,0,0,5,2,0]]
我应该使用哪种方法来获得此输出?
答案 0 :(得分:0)
list1和list2都有不同的形状/尺寸,可以做任何"添加"你需要确保形状是一样的。
我建议您使用numpy转换您的'列表'进入numpy数组。从这里你应该能够添加额外的行和列来匹配形状。
至于'添加'最小值不是0。我会用一个可笑的大整数替换列表中的所有0。然后,您可以使用numpy的最小功能来返回添加的'矩阵。只需记住将结果/添加的矩阵中的所有可笑大整数再次替换为0。
你应该都很好。
答案 1 :(得分:0)
由于表单边缘1和2是矩阵的一种形式,你可以做的是使用列表1和列表2的新的顶点联合列表的长度创建一个新矩阵。所以你有两个相同的新形状矩阵1和矩阵2.然后你可以比较它们。