networkx G的边属性
时间: 2023-10-30 18:08:19 浏览: 106
在 NetworkX 中,可以为图 `G` 的边添加属性。边属性可以是字符串、数字、布尔值或任何其他有效的 Python 数据类型。下面是一些操作来设置和访问边属性的示例:
设置边属性:
```python
import networkx as nx
# 创建一个图
G = nx.Graph()
# 添加带有属性的边
G.add_edge(1, 2, weight=0.5)
G.add_edge(2, 3, weight=0.8)
# 或者可以先添加边,再设置属性
G.add_edge(3, 4)
G.edges[3, 4]['weight'] = 1.2
```
访问边属性:
```python
# 获取所有边及其属性
edges = G.edges(data=True)
# 打印每条边及其属性
for edge in edges:
source = edge[0]
target = edge[1]
attributes = edge[2]
print(f"Edge: {source} -> {target}, Attributes: {attributes}")
# 访问单个边的属性
edge_weight = G.edges[1, 2]['weight']
print(f"Weight of edge (1, 2): {edge_weight}")
```
输出结果:
```
Edge: 1 -> 2, Attributes: {'weight': 0.5}
Edge: 2 -> 3, Attributes: {'weight': 0.8}
Edge: 3 -> 4, Attributes: {'weight': 1.2}
Weight of edge (1, 2): 0.5
```
这样你就可以设置和访问图 `G` 的边属性了。
阅读全文