MultiGraph.edges#
- property MultiGraph.edges#
返回边的迭代器。
edges(self, nbunch=None, data=False, keys=False, default=None)
MultiEdgeView 提供了针对边元组的类似集合的操作以及边属性查找。调用时,它还提供一个 EdgeDataView 对象,用于控制对边属性的访问(但不提供类似集合的操作)。因此,
G.edges[u, v, k]['color']
提供节点u
到节点v
且键为k
的边的颜色属性值,而for (u, v, k, c) in G.edges(data='color', keys=True, default="red"):
遍历所有边,如果不存在颜色属性,则产生带有默认值'red'
的颜色属性。边以元组形式返回,可选包含数据和键,顺序为 (node, neighbor, key, data)。如果未提供
keys=True
,元组将仅为 (node, neighbor, data),但当两个节点之间存在多条边时,将生成多个具有相同节点和邻居的元组。- 参数:
- nbunch单个节点、容器或所有节点(默认=所有节点)
该视图将仅报告来自这些节点的边。
- datastring 或 bool,可选(默认=False)
在 3 元组 (u, v, ddict[data]) 中返回的边属性。如果为 True,则在 3 元组 (u, v, ddict) 中返回边属性字典。如果为 False,则返回 2 元组 (u, v)。
- keysbool,可选(默认=False)
如果为 True,则随每条边一起返回边键,创建 (u, v, k) 元组,如果也请求了数据,则创建 (u, v, k, d) 元组。
- default值,可选(默认=None)
用于不具有请求属性的边的值。仅当 data 不是 True 或 False 时相关。
- 返回:
- edgesMultiEdgeView
一个边属性视图,通常它迭代 (u, v)、(u, v, k) 或 (u, v, k, d) 边元组,但也可以用于属性查找,如
edges[u, v, k]['foo']
。
注意
nbunch 中不在图中的节点将被(静默)忽略。对于有向图,这将返回出边。
示例
>>> G = nx.MultiGraph() >>> 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)])