4.3.4 为图、边、节点增添属性并访问

更新于 2026年10月13日 版权声明
4.3.4 为图、边、节点增添属性并访问

这里还可以为图、点、边赋上各种属性,这些属性可以是颜色、名字、权重和标签等,甚至可以是想要赋予的任何Python对象。

首先,考虑为图增添属性,可以在创建图时为其增添属性,并查询图的属性,下面的代码以“名字属性”为例:

图示

也可以在稍后有需要或变化时,修改图的属性,同样以“名字属性”为例:

图示

接下来,再看如何给节点增加属性:

图示

同样地,按照相似的方法可以为边增加属性:

图示(https://www.daowen.com)

对于已经创建好的图,可以通过多种方法访问图中的节点和边及其属性,以下面这个简单的生成图4-6为例来进行探讨。

图示

图4-6 简单的自定义图

生成图的代码如下:

图示

当访问单个节点时,使用H.nodes[n],即可访问节点n的属性。使用H.[n]和H.adj[n]产生的效果一样,都是访问节点n的邻居的属性。相应地,使用H.edges[p,q]可以访问边(p,q),使用H.nodes.data()和H.edges.data()可以访问图H 中的所有节点和所有边。下面的代码给出具体的访问方法,In为访问方法,Out对应输出的结果,读者可对照生成代码和生成的图来看。

图示

而当图中的某个节点和边不被需要时,可以使用remove方法轻松地删掉,即使用方法Graph.remove_node(n)和Graph.remove_nodes_from()删掉节点,使用方法Graph.remove_edge(p,q)和Graph.remove_edges_from()删掉边。下面的代码给出了具体的使用方法。

图示

✍AI写作