gpt4 book ai didi

python - NetworkX 反向循环节点

转载 作者:行者123 更新时间:2023-12-01 07:03:40 24 4
gpt4 key购买 nike

我正在使用 NetworkX 创建 DAG(有向无环图)。每个节点都由一个具有两个不同属性“操作”和“可达”的 int 表示。我正在使用以下“for 循环”来迭代节点:

for nodes in p.nodes(data=True):
...

它从第一个到最后一个遍历每个节点。在代码的另一部分,我需要以相反的方式迭代,从最后到第一个,但我无法反转对象,因为类型为 <class 'networkx.classes.reportviews.NodeDataView'> 。如何反转 for 循环的顺序?

我的网络是这样的

[(1, {'operation': <qiskit.dagcircuit.dagnode.DAGNode object at 0x120a394d0>, 'reachable': False}), 
(2, {'operation': <qiskit.dagcircuit.dagnode.DAGNode object at 0x120a39490>, 'reachable': False}),
...,
(12, {'operation': <qiskit.dagcircuit.dagnode.DAGNode object at 0x120a44250>, 'reachable': True})]

最佳答案

您可以将 NodeView 对象转换为列表,然后反转该列表。

g = nx.erdos_renyi_graph(100, 0.1)
node_list = list(g.nodes())
reversed_node_list = node_list[::-1]

关于python - NetworkX 反向循环节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58532333/

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