gpt4 book ai didi

python - NetworkX 从特定节点中删除属性

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

我在使用 python 中的 networkX 库时遇到问题。我建立了一个图表初始化一些节点,具有属性的边缘。我还开发了一种方法,可以将具有特定值的特定属性动态添加到目标节点。例如:

 def add_tag(self,G,fnode,attr,value):
for node in G:
if node == fnode:
attrs = {fnode: {attr: value}}
nx.set_node_attributes(G,attrs)

因此如果我们打印目标节点的属性将被更新

        print(Graph.node['h1'])

{'color': u'green'}

        self.add_tag(Graph,'h1','price',40)
print(Graph.node['h1'])

{'color': u'green', 'price': 40}

我的问题是我怎样才能做同样的事情来从目标节点中删除现有属性?我找不到任何删除/删除属性的方法。我只找到了 .update 方法,但没有帮助。

谢谢

最佳答案

属性是 python 字典,因此您可以使用 del 删除它们。

例如,

In [1]: import networkx as nx

In [2]: G = nx.Graph()

In [3]: G.add_node(1,color='red')

In [4]: G.node[1]['shape']='pear'

In [5]: list(G.nodes(data=True))
Out[5]: [(1, {'color': 'red', 'shape': 'pear'})]

In [6]: del G.node[1]['color']

In [7]: list(G.nodes(data=True))
Out[7]: [(1, {'shape': 'pear'})]

关于python - NetworkX 从特定节点中删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47474891/

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