MultiGraph.edges#

property MultiGraph.edges#

返回边缘上的迭代器。

边(self,nbunch=none,data=false,keys=false,default=none)

Edgeview提供了对边缘元组的类似集合的操作以及边缘属性查找。当被调用时,它还提供一个EdgeDataView对象,该对象允许控制对边缘属性的访问(但不提供类似Set的操作)。因此, G.edges[u, v, k]['color'] 提供边的颜色属性的值 (u, v, k) 而当 for (u, v, c) in G.edges(data='color', default='red'): 遍历产生颜色属性的所有边。

边按顺序(节点、邻居、键、数据)作为包含可选数据和键的元组返回。

参数
nbunch单个节点、容器或所有节点(默认为所有节点)

该视图将仅报告来自这些节点的边。

data字符串或布尔值,可选(默认值=FALSE)

以3元组(u,v,ddict)形式返回的边属性 [data] )。如果为True,则返回三元组(u,v,ddict)形式的边缘属性dict。如果为False,则返回二元组(u,v)。

keys布尔值,可选(默认值=FALSE)

如果为True,则返回每个边的边关键字,如果还请求数据,则创建(u,v,k)元组或(u,v,k,d)元组。

default值,可选(默认值=无)

用于不具有请求的属性的边的值。仅当数据不是True或False时才相关。

返回
edgesMultiEdgeView

边属性的视图,通常它遍历边的(u,v)(u,v,k)或(u,v,k,d)元组,但也可以用于属性查找,如下所示 edges[u, v, k]['foo']

笔记

nbunch中不在图中的节点将(安静地)被忽略。对于定向图,这将返回出边。

实例

>>> G = nx.MultiGraph()  # or MultiDiGraph
>>> nx.add_path(G, [0, 1, 2])
>>> key = G.add_edge(2, 3, weight=5)
>>> key2 = G.add_edge(2, 1, weight=2)  # multi-edge
>>> [e for e in G.edges()]
[(0, 1), (1, 2), (1, 2), (2, 3)]
>>> G.edges.data()  # default data is {} (empty dict)
MultiEdgeDataView([(0, 1, {}), (1, 2, {}), (1, 2, {'weight': 2}), (2, 3, {'weight': 5})])
>>> G.edges.data("weight", default=1)
MultiEdgeDataView([(0, 1, 1), (1, 2, 1), (1, 2, 2), (2, 3, 5)])
>>> G.edges(keys=True)  # default keys are integers
MultiEdgeView([(0, 1, 0), (1, 2, 0), (1, 2, 1), (2, 3, 0)])
>>> G.edges.data(keys=True)
MultiEdgeDataView([(0, 1, 0, {}), (1, 2, 0, {}), (1, 2, 1, {'weight': 2}), (2, 3, 0, {'weight': 5})])
>>> G.edges.data("weight", default=1, keys=True)
MultiEdgeDataView([(0, 1, 0, 1), (1, 2, 0, 1), (1, 2, 1, 2), (2, 3, 0, 5)])
>>> G.edges([0, 3])  # Note ordering of tuples from listed sources
MultiEdgeDataView([(0, 1), (3, 2)])
>>> G.edges([0, 3, 2, 1])  # Note ordering of tuples
MultiEdgeDataView([(0, 1), (3, 2), (2, 1), (2, 1)])
>>> G.edges(0)
MultiEdgeDataView([(0, 1)])