gpt4 book ai didi

python - 访问循环中节点的属性

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:11 25 4
gpt4 key购买 nike

我有以下节点列表。我想获取每个节点的经度和纬度。

('11', {'Internal': 1, 'Latitude': -31.93333, 'Country': u'Australia', 'id': 11, 'Longitude': 115.83333, 'label': u'Perth1'})
('10', {'Internal': 1, 'Latitude': -35.28346, 'Country': u'Australia', 'id': 10, 'Longitude': 149.12807, 'label': u'Canberra2'})
('13', {'Internal': 1, 'Latitude': -34.93333, 'Country': u'Australia', 'id': 13, 'Longitude': 138.6, 'label': u'Adelaide1'})
('12', {'Internal': 1, 'Latitude': -31.93333, 'Country': u'Australia', 'id': 12, 'Longitude': 115.83333, 'label': u'Perth2'})
('15', {'Internal': 1, 'Latitude': -37.814, 'Country': u'Australia', 'id': 15, 'Longitude': 144.96332, 'label': u'Melbourne1'})
('14', {'Internal': 1, 'Latitude': -34.93333, 'Country': u'Australia', 'id': 14, 'Longitude': 138.6, 'label': u'Adelaide2'})
('17', {'Internal': 1, 'Latitude': -23.7, 'Country': u'Australia', 'id': 17, 'Longitude': 133.88333, 'label': u'Alice Springs'})
('16', {'Internal': 1, 'Latitude': -37.814, 'Country': u'Australia', 'id': 16, 'Longitude': 144.96332, 'label': u'Melbourne2'})

我知道如何访问

G.nodes['11']['longitude']
G.nodes['10']['longitude']
G.nodes['13']['longitude'].

但我想要灵活的访问,这意味着如果节点数量增加,则无需更改代码。我该怎么做?

最佳答案

只需遍历节点。遍历节点的“最佳”方法是使用 G.nodes_iter()(生成器),但您也可以使用 G.nodes()(列表) :

import networkx as nx
G=nx.Graph()
G.add_node('11', longitude = 3)
for node in G.nodes_iter():
print G.node[node]['longitude']
> 3
G.add_node('3', longitude = 5)
for node in G.nodes_iter():
print G.node[node]['longitude']
>3
>5

如果您关心列表中的顺序,您需要使用 G.nodes() 并对其进行适当的排序。


注意 --- 在您的示例中,您有 G.nodes[][]。那行不通的。它应该是 G.node[][]

关于python - 访问循环中节点的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420351/

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