gpt4 book ai didi

python - 如何将自定义对象创建为 networkx 的节点以及如何查找它?

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:20 25 4
gpt4 key购买 nike

我希望每个节点都有一个 ipaddress 字符串、纬度和经度值。另外,如何在查找由 networkx 创建的图形时获得指向此类对象的指针?

最佳答案

NetworkX 基于图形可以像字典一样工作的想法。您不需要自定义对象来充当节点,因为节点可以将任意属性添加到它们的“字典”中。

考虑以下交互式 session :

>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_node(1)
>>> G.node[1]['ipaddress'] = '8.8.8.8'
>>> G.node[1]['longitude'] = 37
>>> G.node[1]['latitude'] = 50
>>> G.node[1]
{'latitude': 50, 'ipaddress': '8.8.8.8', 'longitude': 37}
>>> G.node[1]['ipaddress']
'8.8.8.8'

在这里,创建了一个具有单个节点 1 的图,ipaddresslongitudelatitude > 相关联。您可以通过询问节点的图形在恒定时间内直接访问该节点,并以大致相同的方式获取其属性。

要引用特定节点,您有两种可能性。例如,您可以使用字典来存储任何所需属性的列表或节点集。第二种可能性——仅对每个节点唯一的单个属性有用——是直接将该属性用作节点。例如,对于 IP 地址:

>>> H = nx.Graph()
>>> H.add_node('8.8.8.8', longitude=37, latitude=50)
>>> H.node['8.8.8.8']
{'latitude': 50, 'longitude': 37}

在这里,我还利用了 NetworkX 提供的便利功能,在创建节点时指定属性。

关于python - 如何将自定义对象创建为 networkx 的节点以及如何查找它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com