【问题标题】:cant access node attributes无法访问节点属性
【发布时间】:2019-08-14 12:09:10
【问题描述】:

g.nodes() 似乎显示了属性,但否则我无法访问它们。我做错了什么?

g = nx.Graph()

g.add_node('a', attr_dict={'k1':5})

g.nodes(data=True)
 [('a', {'k1': 5})]

g['a']
{}

g['a'].keys()
 []

g['a']['k1']

  KeyError     Traceback (most recent call last)
 <ipython-input-62-03c0859d74e1> in <module>()
 ----> 1 g['a']['k1']

 KeyError: 'k1'

版本:1.11


升级到ver:2.2

g = nx.Graph()
g.add_node('b', attr_dict={'k1':5})

g['b']
AtlasView({})

g.nodes['b']
{'attr_dict': {'k1': 5}}

【问题讨论】:

    标签: python attributes nodes networkx


    【解决方案1】:

    对于 networkx 2.1 或 2.2,您可以访问有关特定节点的数据,您必须使用图形的属性节点。例如

    g = nx.Graph()
    
    g.add_node('a', attr_dict={'k1':5})
    
    g.nodes(data=True)
    
    print(g.nodes['a'])
    

    【讨论】:

    • 打印 g.nodes['a'];类型错误:“instancemethod”对象没有属性“getitem
    • nx.__version__ '1.11'
    • 是否必须使用该版本?显然在新版本中这很容易
    • 升级到新版本
    猜你喜欢
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 2014-03-31
    相关资源
    最近更新 更多