复杂网络python学习中的小问题(不断更新)

1.调用StringIO

2021.8.26

import networkx as nx 
import StringIO 
edges = StringIO.StringIO(""" 
a b 1 
a bb 1 
b c 2 
bb c 2 
c d 1 
a d 10""") 
G = nx.read_weighted_edgelist(edges, nodetype=str) 
print (list(nx.all_shortest_paths(G, 'a', 'd', weight='weight')))
# [['a', 'b', 'c', 'd'], ['a', 'bb', 'c', 'd']] 

报错:ModuleNotFoundError: No module named ‘StringIO’

解决方式:Python3中已将StringIO归入io,调用方法如下:

import io
iost = io.StringIO()

完整代码

import networkx as nx 
import io
edges = io.StringIO(""" 
a b 1 
a bb 1 
b c 2 
bb c 2 
c d 1 
a d 10""")

G = nx.read_weighted_edgelist(edges, nodetype=str) 
print (list(nx.all_shortest_paths(G, 'a', 'd', weight='weight')))
# [['a', 'b', 'c', 'd'], ['a', 'bb', 'c', 'd']] 

代码作用:一个简单的例子来说明all_shortest_paths()是如何工作的
带有networkx的加权图的所有最短路径?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值