MultiDiGraph.edges#

property MultiDiGraph.edges#

图的 OutMultiEdgeView,表示为 G.edges 或 G.edges()。

edges(self, nbunch=None, data=False, keys=False, default=None)

OutMultiEdgeView 提供了针对边元组的集合类操作以及边属性查找功能。当调用时,它还会提供一个 EdgeDataView 对象,该对象允许控制对边属性的访问(但不提供集合类操作)。因此,G.edges[u, v, k]['color'] 提供从 uv 且键为 k 的边的 color 属性值,而 for (u, v, k, c) in G.edges(data='color', default='red', keys=True): 则遍历所有边,并返回 color 属性,如果不存在 color 属性则使用默认值 'red'

边以元组形式返回,可选包含数据和键,顺序为 (node, neighbor, key, data)。如果未提供 keys=True,元组将仅为 (node, neighbor, data),但当两个节点之间存在多条边时,将生成具有相同节点和邻居的多个元组。

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

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

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

在三元组 (u, v, ddict[data]) 中返回的边属性。如果为 True,则在三元组 (u, v, ddict) 中返回边属性字典。如果为 False,则返回二元组 (u, v)。

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

如果为 True,则在每个边上返回边键,当也请求数据时创建 (u, v, k, d) 元组(默认),当不请求数据时创建 (u, v, k) 元组。

default值,可选(默认=None)

用于没有请求属性的边的值。仅当 data 不是 True 或 False 时相关。

返回
edgesOutMultiEdgeView

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

另请参阅

in_edges, out_edges

注意

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

示例

>>> G = nx.MultiDiGraph()
>>> nx.add_path(G, [0, 1, 2])
>>> key = G.add_edge(2, 3, weight=5)
>>> key2 = G.add_edge(1, 2)  # second edge between these nodes
>>> [e for e in G.edges()]
[(0, 1), (1, 2), (1, 2), (2, 3)]
>>> list(G.edges(data=True))  # default data is {} (empty dict)
[(0, 1, {}), (1, 2, {}), (1, 2, {}), (2, 3, {'weight': 5})]
>>> list(G.edges(data="weight", default=1))
[(0, 1, 1), (1, 2, 1), (1, 2, 1), (2, 3, 5)]
>>> list(G.edges(keys=True))  # default keys are integers
[(0, 1, 0), (1, 2, 0), (1, 2, 1), (2, 3, 0)]
>>> list(G.edges(data=True, keys=True))
[(0, 1, 0, {}), (1, 2, 0, {}), (1, 2, 1, {}), (2, 3, 0, {'weight': 5})]
>>> list(G.edges(data="weight", default=1, keys=True))
[(0, 1, 0, 1), (1, 2, 0, 1), (1, 2, 1, 1), (2, 3, 0, 5)]
>>> list(G.edges([0, 2]))
[(0, 1), (2, 3)]
>>> list(G.edges(0))
[(0, 1)]
>>> list(G.edges(1))
[(1, 2), (1, 2)]