首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中,如何计算网络的唯一连接数?

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

Stack Overflow用户
提问于 2019-04-10 06:15:28
回答 2查看 592关注 0票数 1

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

前面的问题都集中在查找单个平面数组中的重复项或删除它们。我不知道如何将这些技术应用到以下几个方面:

代码语言:javascript
复制
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)应该返回的是唯一连接的整数计数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-10 06:25:22

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

zip(source, destination)返回sourcedestination

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

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

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

票数 2
EN

Stack Overflow用户

发布于 2019-04-10 06:37:15

使用collectionszip元组中的Counter

代码语言:javascript
复制
from collections import Counter
list = zip(source, destination)
count = Counter(list)

结果:

代码语言:javascript
复制
Counter({(6, 5): 3, (1, 8): 2, (6, 8): 1, (8, 7): 1, (7, 5): 1, (5, 1): 1, (0, 8): 1, (3, 0): 1, (8, 8): 1, (4, 2): 1, (5, 4): 1, (5, 7): 1, (0, 3): 1, (2, 7): 1, (2, 2): 1, (1, 0): 1, (4, 5): 1})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55602084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档