当前位置: 首页 > 面试题库 >

存储和访问节点属性python networkx

许承悦
2023-03-14
问题内容

我有一个使用python创建的节点网络networkx。我想在节点中存储信息,以便以后可以基于节点标签(节点名称)和存储信息的字段(例如节点属性)访问信息。我希望以这样的方式存储的信息可以是字符串或数字,例如ifxyz是一个节点:

然后我要保存两个或三个具有字符串的字段,如出生日期,出生xyz dob=1185地点和出生xyz pob=usa日期xyz
dayob=monday

我知道我可以使用G.add_node属性字典字段…但是我似乎无法为特定字段访问它。如果有任何其他方式,我将不胜感激。

然后,我想xyz与网络中具有相同共同信息的其他节点进行比较。即基于咬合日期,出生地点和出生日期的节点xyz与节点abc的交集

例如,如果节点xyzabc具有边的节点分别打印其dobs,pobs和dayobs


问题答案:

就像您说的,将节点添加到图形中时只需添加属性即可

G.add_node('abc', dob=1185, pob='usa', dayob='monday')

或作为字典

G.add_node('abc', {'dob': 1185, 'pob': 'usa', 'dayob': 'monday'})

要访问属性,只需像使用任何词典一样访问它们

G.node['abc']['dob'] # 1185
G.node['abc']['pob'] # usa
G.node['abc']['dayob'] # monday

您说要查看已连接节点的属性。这是一个有关如何实现的小例子。

for n1, n2 in G.edges_iter():
    print G.node[n1]['dob'], G.node[n2]['dob']
    print G.node[n1]['pob'], G.node[n2]['pob']
    # Etc.

从networkx
2.0开始,G.edges_iter()已替换为G.edges()。这也适用于节点。我们设置data=True访问属性。现在的代码是:

for n1, n2 in list(G.edges(data=True)):
    print G.node[n1]['dob'], G.node[n2]['dob']
    print G.node[n1]['pob'], G.node[n2]['pob']
    # Etc.

注意:networkx 2.4中G.node[]已被替换为G.nodes[]



 类似资料:
  • 我有一个下拉列表,其中选项的值是,,等。最后一个是父节点的属性,比如是节点的属性 你知道如何以这种方式获得价值吗。 谢谢

  • 对于下面的XML,我正在尝试根据属性和节点值提取节点。 基于属性class=pass和h1包含('objectives'),我试图提取以下输出。 “目标”是节点值字符串“1任务目标”的一部分 1任务目标1目标2 下面是我正在尝试的XPath表达式。然而,这并没有产生任何输出。你能指出我做错了什么吗? 谢谢

  • 让我们更深入地了解一下 DOM 节点。 在本章中,我们将更深入地了解它们是什么,并学习它们最常用的属性。 DOM 节点类 不同的 DOM 节点可能有不同的属性。例如,标签 <a> 相对应的元素节点具有链接相关的(link-related)属性,标签 <input> 相对应的元素节点具有与输入相关的属性,等。文本节点与元素节点不同。但是所有这些标签对应的 DOM 节点之间也存在共有的属性和方法,因为

  • 主要内容:节点锚点,节点标签,节点内容每个表示节点包括两个主要特征,称为锚和标记。可以使用节点内容指定节点属性,从字符流中省略。 节点表示的基本示例如下 - 节点锚点 属性表示将来参考的节点。 节点中YAML表示的字符流用符号表示。 YAML处理器不需要保留锚名称以及其中包含的表示细节。以下代码解释了这一点 - 锚节点生成的YAML输出如下所示 - 节点标签 属性表示完全定义节点的本机数据结构的类型。 标签用()指示符表示。 标签被视

  • 我想递归地连接一个节点的参数值和它的父节点的相同参数值。 例如,如下: 应该成为 我试过了 有什么问题吗?

  • 问题内容: 我想使用XStream将对象序列化为这种形式的XML。 节点( 文本 )的值是序列化对象以及 att 属性上的字段。无需为此对象编写转换器就可以吗? 谢谢! 问题答案: 写一个转换器,应该类似于代码片段 在使用XStream时,注册转换器