前驱节点的属性
Predecessor nodes's attributes
我是 Python 的 networkx 新手。我正在尝试获取有向图中两个或多个前导节点的属性。
我反其道而行之:获取与neighbors的后继节点的属性,如下:
A = nx.DiGraph()
A.add_node('S1', e=1)
A.add_node('S2', e=2)
A.add_node('S3', e=3)
A.add_edges_from([('S2','S1'),('S3','S1')])
for neighbor in A.neighbors('S1'):
print(A.nodes[neighbor]["e"])
不过,我想获取前辈的属性。问题是在有向图中,neighbors 只检索后继者而不是前任者。
根据我附上的图片,我想获取S1的前辈属性。我已经尝试使用命令 pred,如下所示,但它似乎不起作用:
for pred in A.pred('S2'):
print(A.nodes[pred]["e"])
Output:
'AdjacencyView' object is not callable
谢谢大家的帮助!
你有 Graph.predecessors
个:
nodes = A.nodes(data=True)
for pred in A.predecessors('S1'):
print(nodes[pred])
{'e': 2}
{'e': 3}
具体保存属性e
:
out = dict()
nodes = A.nodes(data=True)
for pred in A.predecessors('S1'):
out[pred] = nodes[pred]['e']
out
# {'S2': 2, 'S3': 3}
我是 Python 的 networkx 新手。我正在尝试获取有向图中两个或多个前导节点的属性。
我反其道而行之:获取与neighbors的后继节点的属性,如下:
A = nx.DiGraph()
A.add_node('S1', e=1)
A.add_node('S2', e=2)
A.add_node('S3', e=3)
A.add_edges_from([('S2','S1'),('S3','S1')])
for neighbor in A.neighbors('S1'):
print(A.nodes[neighbor]["e"])
不过,我想获取前辈的属性。问题是在有向图中,neighbors 只检索后继者而不是前任者。
根据我附上的图片,我想获取S1的前辈属性。我已经尝试使用命令 pred,如下所示,但它似乎不起作用:
for pred in A.pred('S2'):
print(A.nodes[pred]["e"])
Output:
'AdjacencyView' object is not callable
谢谢大家的帮助!
你有 Graph.predecessors
个:
nodes = A.nodes(data=True)
for pred in A.predecessors('S1'):
print(nodes[pred])
{'e': 2}
{'e': 3}
具体保存属性e
:
out = dict()
nodes = A.nodes(data=True)
for pred in A.predecessors('S1'):
out[pred] = nodes[pred]['e']
out
# {'S2': 2, 'S3': 3}