在python中如何计算网络的唯一连接数?

2024-05-19 17:03:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要计算网络中允许重复连接和自连接的唯一连接数。在

以前的问题都集中在单个平面阵列中查找重复项或移除它们。我不知道如何将这些技巧应用于以下方面:

source =      [1, 6, 1, 8, 7, 5, 0, 3, 8, 4, 5, 6, 5, 0, 6, 2, 2, 1, 6, 4]
destination = [8, 8, 8, 7, 5, 1, 8, 0, 8, 2, 4, 5, 7, 3, 5, 7, 2, 0, 5, 5]

网络的连接用2个python数组表示。例如,节点1连接到节点8,节点8连接到节点6,依此类推。这些连接是定向的。这个特殊的网络有9个节点和20个连接,但其他网络有更多。在

def countUnique(source, destination)应该返回的是唯一连接的整数计数。在


Tags: 网络source技巧节点def整数数组destination
2条回答

使用来自collectionszip元组的Counter。在

from collections import Counter
list = zip(source, destination)
count = Counter(list)

结果:

^{pr2}$

len(set(zip(source, destination)))

zip(source, destination)返回source和{}对

set(...)返回只包含唯一元素的Python集

len(...)返回设置长度-所有唯一边的数目

另外,我建议您使用一些好的Python图形库,比如networkx。这些库有大量用于图形处理的有用函数和算法。在

相关问题 更多 >