Есть ли способ уменьшить время выполнения функции o в python? - PullRequest
0 голосов
/ 18 марта 2020

Я хочу вычислить сумму весов всех ребер моего сетевого графа в python. На самом деле у меня более 88000 ребер, так что до финиша sh это больше 3 часов. Есть ли решение, чтобы сократить время выполнения? Вот функция для вычисления веса каждого заданного ребра:

def weight_edge(i,j,g):
  neighborhood_i=neighborhood(g,i)
  neighborhood_j=neighborhood(g,j)
  neighborhood_commun=len(intersection(neighborhood_i,neighborhood_j))
  neighborhood_total=len(neighborhood_i)+len(neighborhood_j)
  if(neighborhood_total-2!=0):
     return(round(neighborhood_commun/(neighborhood_total-2),3))
  else:
     return 0

Где i и j - два соединенных узла, а g - график.

...