我需要计算网络中允许重复连接和自连接的唯一连接数。在
以前的问题都集中在单个平面阵列中查找重复项或移除它们。我不知道如何将这些技巧应用于以下方面:
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)
应该返回的是唯一连接的整数计数。在
使用来自
collections
和zip
元组的Counter
。在结果:
^{pr2}$len(set(zip(source, destination)))
zip(source, destination)
返回source
和{set(...)
返回只包含唯一元素的Python集len(...)
返回设置长度-所有唯一边的数目另外,我建议您使用一些好的Python图形库,比如networkx。这些库有大量用于图形处理的有用函数和算法。在
相关问题 更多 >
编程相关推荐