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)
或不 ?
您不能只创建图形并删除节点(或必要时删除节点),例如:
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)