Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中并行计算节点的交集?_Python - Fatal编程技术网

如何在Python中并行计算节点的交集?

如何在Python中并行计算节点的交集?,python,Python,我正在处理大型数据集,为了减少执行时间,我需要在python中使用并行处理来计算图形中两个节点的交集。我使用下面的代码计算数据集中所有N个节点的交集节点\u邻居是由多个节点组成的节点的相邻集 for i in range(N): CN_sum = 0 d = {} for neighbor in nodes_neighbors[i]: intersect = len(list(set(nodes_neighbors[i]) &

我正在处理大型数据集,为了减少执行时间,我需要在python中使用并行处理来计算图形中两个节点的交集。我使用下面的代码计算数据集中所有N个节点的交集<代码>节点\u邻居是由多个节点组成的节点的相邻集

for i in range(N):
    CN_sum = 0
    d = {}


        for neighbor in nodes_neighbors[i]:

            intersect = len(list(set(nodes_neighbors[i]) & set(nodes_neighbors[neighbor])))

            CN_sum = CN_sum + (intersect)


        node_importance.append(([i, CN_sum]))



我想知道如何使它并行运行以节省时间。我尝试了一些方法,比如创建Pool()和多处理,但是因为我对python有点陌生,所以我没能做到

通过存储集合,而不是当前在
节点\u邻居中的任何集合,然后
intersect=sum(1表示节点中的c\u邻居[i]如果节点中的c\u邻居[i])
,可以大大加快代码的速度。您当前正在每次迭代中构建2个集合和一个列表。不使用集合而使用已排序的列表,并使用合并排序类型方法计算交集可能会更快。通过存储集合而不是当前在
节点\u邻居中的任何集合,您可以使代码更快,然后
intersect=sum(1表示节点中的c\u neigbors[i]如果节点中的c\u neighbor[i])
。您当前正在每次迭代中构建2个集合和一个列表。不使用集合而使用排序列表,并使用合并排序类型方法计算交集可能会更快。