Разница между двумя графиками NetworkX с разными наборами узлов - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу, чтобы разница G1-G2 давала вывод ребер, которые существуют в G1, но не в G2.Функция difference в NetworkX допускает эту разницу только тогда, когда G1 и G2 имеют одинаковые наборы узлов.

Мой пример: G1.edges = EdgeView([(0, 1), (1, 2), (1, 3), (1, 18))

G2.edges = EdgeView([(0, 1), (1, 2), (1, 3), (2, 22)])

Требуемый выход (1,18)

1 Ответ

0 голосов
/ 29 ноября 2018

Класс EdgeView определяет операции над множествами на ребрах.
Таким образом, вы можете просто использовать:

G1.edges() - G2.edges()

Пример:

>>> G2.edges()
EdgeView([(0, 1), (1, 2), (1, 3), (2, 22)])
>>> G1.edges()
EdgeView([(0, 1), (1, 2), (1, 3), (1, 18)])
>>> G1.edges() - G2.edges()
{(1, 18)}
...