首页 > 解决方案 > 如何设置networkx的“read_edgelist”设置默认自定义权重?

问题描述

我正在使用 networkx 从文件中读取边缘。我的数据喜欢:

1 2
1 3
2 4

从上述数据中读取时如何设置自定义重量?我想要我的数据喜欢:

1 2 1.0
1 3 1.0
2 4 1.0

或者权重可以是原始数据中没有权重可以选择的其他值。

标签: pythongraphnetworkx

解决方案


您可以在将文件读入嵌套列表时构建加权边列表,然后将加权边输入到图中add_weighted_edges_from

weight = 1
edges = [[*map(int,line.split()), weight] for line in open("file.txt")]
G = nx.Graph()
G.add_weighted_edges_from(edges)
G.edges(data=True)
# EdgeDataView([(1, 2, {'weight': 1}), (1, 3, {'weight': 1}), (2, 4, {'weight': 1})])

推荐阅读