python中邻居节点的总和权重

时间:2018-04-30 01:12:12

标签: python networking weighted

我需要将邻居节点的总权重相加。例如,我有一个节点(1),其邻居是(2)和(4)。其边缘的重量为:(1-2,重量= 3)和(1-4,重量= 5)。然后,我需要总和权重(8)的结果。

我试过了:

sum_tot = []
for neigh in G.neighbors(1):
    sum_tot.append(G[1][neigh]['weight'])
sum(sum_tot)

但结果为0 有关python编程的任何想法吗?

1 个答案:

答案 0 :(得分:0)

我是Python的新手,但似乎你的问题应该由n个节点的nxn矩阵表示。让矩阵中的每个条目表示列中每个节点与行中每个节点之间的权重。因此,您将表示节点1到2之间的距离,该位置为3。现在,Python没有数组,但您可以使用列表执行此操作。

将此列表初始化为0后,您可以指定以下内容:

network[1][2]=3
network[2][1]=3
network[1][4]=5
network[4][1]=5

编写行和列操作,通过遍历矩阵来添加权重,从节点行开始,然后用列切换节点行,然后再次尝试。如果找不到上一次迭代之外的连接,那么就结束了,并且需要从一个新节点开始并重复该过程。我会对每一行进行迭代,并打印出一个节点和权重总和表。希望这会给你一些想法。

希望我回答你的问题。我是一名数学家,但是Python的业余爱好者。

相关问题