Graph.nodes#
- property Graph.nodes#
图形的节点视图,如g.nodes或g.nodes()。
可用作
G.nodes
用于数据查找和类似于集合的操作。也可用作G.nodes(data='color', default=None)
返回一个报告特定节点数据但没有设置操作的节点数据视图。它还提供了一个类似dict的接口G.nodes.items()
迭代(node, nodedata)
2元组G.nodes[3]['foo']
提供foo
节点的属性3
. 此外,视图G.nodes.data('foo')
为foo
每个节点的属性。G.nodes.data('foo', default=1)
为没有属性的节点提供默认值foo
.- 参数
- data字符串或布尔值,可选(默认值=FALSE)
以2元组(n,ddict)形式返回的节点属性 [data] )。如果为True,则将整个节点属性dict返回为(n,ddict)。如果为False,则仅返回节点n。
- default值,可选(默认值=无)
用于不具有请求的属性的节点的值。仅当数据不是True或False时才相关。
- 返回
- NodeView
允许在节点上进行类似于集合的操作,以及节点属性dict查找和调用以获取节点数据视图。节点数据视图迭代
(n, data)
没有固定的操作。节点视图迭代n
包括设置操作。调用时,如果数据为假,则为节点上的迭代器。否则,在中指定属性的2元组(节点、属性值)的迭代器
data
. 如果数据为真,则该属性将成为整个数据字典。
笔记
如果不需要节点数据,则使用表达式更简单且等效
for n in G
或list(G)
.实例
获取图中所有节点的列表有两种简单方法:
>>> G = nx.path_graph(3) >>> list(G.nodes) [0, 1, 2] >>> list(G) [0, 1, 2]
要获取节点数据以及节点,请执行以下操作:
>>> G.add_node(1, time="5pm") >>> G.nodes[0]["foo"] = "bar" >>> list(G.nodes(data=True)) [(0, {'foo': 'bar'}), (1, {'time': '5pm'}), (2, {})] >>> list(G.nodes.data()) [(0, {'foo': 'bar'}), (1, {'time': '5pm'}), (2, {})]
>>> list(G.nodes(data="foo")) [(0, 'bar'), (1, None), (2, None)] >>> list(G.nodes.data("foo")) [(0, 'bar'), (1, None), (2, None)]
>>> list(G.nodes(data="time")) [(0, None), (1, '5pm'), (2, None)] >>> list(G.nodes.data("time")) [(0, None), (1, '5pm'), (2, None)]
>>> list(G.nodes(data="time", default="Not Available")) [(0, 'Not Available'), (1, '5pm'), (2, 'Not Available')] >>> list(G.nodes.data("time", default="Not Available")) [(0, 'Not Available'), (1, '5pm'), (2, 'Not Available')]
如果某些节点具有属性,而其余节点假定具有默认属性值,则可以使用
default
用于确保值从不为无的关键字参数::>>> G = nx.Graph() >>> G.add_node(0) >>> G.add_node(1, weight=2) >>> G.add_node(2, weight=3) >>> dict(G.nodes(data="weight", default=1)) {0: 1, 1: 2, 2: 3}