У меня есть текстовый файл с 150000 строк, каждая с числовым идентификатором (т.е. 1,2,3 ...)
Каждая строка имеет какое-то отношение к другой строке, то есть идентификатор этой строки либо упоминается в других строках, либо упоминает другие строки в ней.
Например
#1 - string #24 #11
#11 - string #24 #25
#245 - string #1 #11
Таким образом, в этом случае строки 1 и 11 упоминаются в строке 245, но в строке 1 также упоминается строка 11 и т. Д.
Я сопоставляю весь текстовый файл, используя import networkx as nx
и функцию
G=nx.Graph()
, чтобы позже манипулировать отношениями между различными узлами и ребрами.
Я пытаюсь понять, как сделать это более эффективным, время выполнения в настоящее время очень длинное (час +), и я пытаюсь понять, является ли эта функция причиной продолжительного времени выполнения:
G=nx.Graph()
for l in txt:
res = re.findall("#\d{3,10}",l)
if len(res) > 1:
for num in res[1:]:
G.add_edge(res[0],num)
return G
Есть ли способ сделать его более эффективным?