栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用用户定义的类对象作为networkx节点?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用用户定义的类对象作为networkx节点?

你在看

G[0]
。但这不是您想要的。
G[0]
包含有关节点的邻居
0
和边的属性的信息,但不包含有关节点的属性的信息
0

class point():    def __init__(self, x, y):        self.x = x        self.y = yimport networkx as nxG = nx.Graph()p0 = point(0,0)p1 = point(1,1)G.add_node(0, data=p0)G.add_node(1, data=p1)G.add_edge(0,1, weight=4)G[0]> AtlasView({1: {'weight': 4}})  #in networkx 1.x this is actually a dict. In 2.x it is an "AtlasView"

对于networkx,期望一个节点可能有很多与其关联的数据。在您的情况下,您只有一条数据,即该点。但是您可能还已经指定了颜色,权重,时间,年龄等。因此,networkx将所有属性存储在另一个字典中,但是该字典是通过

G.node[0]
而不是通过访问的
G[0]

G.node[0]> {'data': <__main__.point at 0x11056da20>}G.node[0]['data'].x> 0

请注意,

data
您输入的内容将成为字符串
'data'

输入像这样的节点可能会更好

G.add_node(0, x=0, y=0)
,然后您可以按那样访问条目
G.node[0]['x']



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号