小图和网络x

Joh*_*Doe 1 python graph networkx

有没有办法在 networkx 中声明这个简单的图:

simple_graph = {
    'A': ['B'],
    'B': ['A', 'C', 'D'],
    'C': ['A'],
    'D': ['E', 'A', ''],
    'E': ['B', '']
    }
Run Code Online (Sandbox Code Playgroud)

以比这更简单的方式(更紧凑):

g.add_edges_from([('A', 'B'), ('B', 'A'), ('B', 'C'), ('B', 'D'),
                  ('C', 'A'), ('D', 'E'), ('D', 'A'), ('E', 'B')])
Run Code Online (Sandbox Code Playgroud)

或不 ?

Jon*_*nts 5

您不能只创建图形并删除节点(或必要时删除节点),例如:

import networkx as nx

simple_graph = {
    'A': ['B'],
    'B': ['A', 'C', 'D'],
    'C': ['A'],
    'D': ['E', 'A', ''],
    'E': ['B', '']
    }

g = nx.DiGraph(simple_graph)
g.remove_node('')
Run Code Online (Sandbox Code Playgroud)

然后g.edges()会给你:

OutEdgeView([('A', 'B'), ('E', 'B'), ('D', 'A'), ('D', 'E'), ('B', 'A'), ('B', 'C'), ('B', 'D'), ('C', 'A')])
Run Code Online (Sandbox Code Playgroud)