我已多次查看networkx文档,无法找到一种基于节点键返回节点对象的方法。我之所以需要这样做,是因为我想使用节点信息来检查节点属性和边缘信息(这需要节点键!)
例如:
g = nx.DiGraph()
g.add_nodes_from(
[('vi|123', {
'type': 't1',
'name': 'vi'
}),
('vi_1|234', {
'type': 't2',
'name': 'vi_1'
})]
)
edge_list = [
('vi|123', 'vi_1|234'),
]
g.add_edges_from(edge_list)
print(g.nodes(data=True)['vi|123'])这将只打印没有节点键的节点属性。有什么本土化的方法来实现这一点吗?否则,我能想到的最好的方法就是复制节点属性中的节点密钥信息。
发布于 2022-05-25 01:08:55
在运行您的代码示例之后,我尝试了以下操作:
print(g.nodes(data=True))
>> [('vi|123', {'type': 't1', 'name': 'vi'}), ('vi_1|234', {'type': 't2', 'name': 'vi_1'})]当您将g.nodes作为迭代器调用时,而不是在每个单独的节点上,您似乎可以获得节点键/名称。对于您想要做的事情,您可能希望使用此方法轻松地访问节点密钥。希望这能有所帮助!
https://stackoverflow.com/questions/72353296
复制相似问题