为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2022-01-05 13:27:16
我需要计算网络中允许重复和自连接的唯一连接数。以前的问题都集中在在单个平面数组中查找重复项或删除它们。我不知道如何将这些技术应用于以下内容: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)是唯一连接的整数计数。
查看完整描述

2 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

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

zip(source, destination)返回对sourcedestination

set(...) 返回一个只有唯一元素的 Python 集

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

PS 我建议你使用一些好的 Python 图形库,比如networkx。此类库具有大量有用的图形处理函数和算法。


查看完整回答
反对 回复 2022-01-05
?
繁花如伊

TA贡献2012条经验 获得超12个赞

使用Counterfromcollections和zip元组。


from collections import Counter

list = zip(source, destination)

count = Counter(list)

结果:


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})



查看完整回答
反对 回复 2022-01-05
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信