Добавление ребер создает дублирующие узлы вместо использования уже добавленных узлов - PullRequest
0 голосов
/ 02 января 2019

Я добавил узлы, передав словарь объектов в функцию add_nodes_from.

Затем я указал ребра, передав список в функцию add_edges_from.

При добавлении ребер они создают дубликаты узлов вместо использования уже добавленных ранее.

import networkx as nx
import matplotlib.pyplot as plt

from Employee import Employee

G = nx.DiGraph()

employees = {
    "John": Employee("John"),
    "Mathews": Employee("Mathews"),
    "Joseph": Employee("Joseph"),
    "Lana": Employee("Lana"),
    "Debrah": Employee("Debrah"),
    "Greg": Employee("Greg"),
    "Bob": Employee("Bob"),
    "Mary": Employee("Mary"),

}

connections = [
    (employees.get("John"), employees.get("Debrah")),
    (employees.get("John"), employees.get("Mary")),
    (employees.get("Mary"), employees.get("Greg")),
    (employees.get("Mary"), employees.get("Lana")),
    (employees.get("Mary"), employees.get("Debrah")),
    (employees.get("Mathews"), employees.get("Joseph")),
    (employees.get("Mathews"), employees.get("Debrah")),
    (employees.get("Mathews"), employees.get("Mary")),
    (employees.get("Lana"), employees.get("Debrah")),
    (employees.get("Greg"), employees.get("Bob")),

]

G.add_nodes_from(employees)

G.add_edges_from(connections)

print(G.nodes)

Вывод

[«Джон», «Мэтьюз», «Джозеф», «Лана», «Дебра», «Грег», «Боб», «Мэри», Джон, Дебра, Мэри, Грег, Лана, Мэтьюз, Джозеф, Боб]

1 Ответ

0 голосов
/ 02 января 2019
G.add_nodes_from(employees)

Это добавление узлов с использованием ключей dict (строки)

G.add_edges_from(connections)

Это добавление ребер с использованием значений dict (сотрудников)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...