MultiDiGraph.out_edges#
- property MultiDiGraph.out_edges#
图的OutMultiEdgeView,表示为G.edges或G.edges()。
edges(self, nbunch=None, data=False, keys=False, default=None)
OutMultiEdgeView提供了对边元组的集合式操作以及边属性查找。调用时,它还提供了一个EdgeDataView对象,该对象允许控制对边属性的访问(但不提供集合式操作)。因此,
G.edges[u, v, k]['color']
提供了从u
到v
且键为k
的边的颜色属性的值,而for (u, v, k, c) in G.edges(data='color', default='red', keys=True):
遍历所有边,生成颜色属性,如果不存在颜色属性,则使用默认值'red'
。边以元组形式返回,可选数据和键,顺序为(节点,邻居,键,数据)。如果未提供
keys=True
,元组将仅为(节点,邻居,数据),但在两个节点之间存在多条边时,会生成具有相同节点和邻居的多个元组。- Parameters:
- nbunch单个节点、容器或所有节点(默认=所有节点)
视图将仅报告来自这些节点的边。
- data字符串或布尔值,可选(默认=False)
在3元组(u, v, ddict[data])中返回边属性。 如果为True,则在3元组(u, v, ddict)中返回边属性字典。 如果为False,则返回2元组(u, v)。
- keys布尔值,可选(默认=False)
如果为True,则返回每条边的键,当请求数据时(默认)生成(u, v, k, d)元组,当不请求数据时生成(u, v, k)元组。
- default值,可选(默认=None)
用于没有请求属性的边的值。仅在data不是True或False时相关。
- Returns:
- edgesOutMultiEdgeView
边属性的视图,通常它迭代遍历(u, v)(u, v, k)或(u, v, k, d)元组,但也可以用于属性查找,如
edges[u, v, k]['foo']
。
Notes
nbunch中不在图中的节点将被(安静地)忽略。对于有向图,这返回出边。
Examples
>>> G = nx.MultiDiGraph() >>> nx.add_path(G, [0, 1, 2]) >>> key = G.add_edge(2, 3, weight=5) >>> key2 = G.add_edge(1, 2) # 这两节点之间的第二条边 >>> [e for e in G.edges()] [(0, 1), (1, 2), (1, 2), (2, 3)] >>> list(G.edges(data=True)) # 默认数据为{}(空字典) [(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)) # 默认键为整数 [(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)]