首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python: shortest_paths_dijkstra的多个权重属性

python: shortest_paths_dijkstra的多个权重属性
EN

Stack Overflow用户
提问于 2018-11-07 00:38:58
回答 1查看 149关注 0票数 0

在我的图中,我有一些多重权重的边。有没有可能在python中为shortest_paths_dijkstra添加多个权重属性?下面给出我的示例代码:

代码语言:javascript
复制
import igraph
from igraph import *
g = Graph(directed=True)
g.add_vertices(3)
g.vs["name"]=["GO:1234567","GO:6789056","GO:5674321"]
g.add_edge('GO:1234567','GO:6789056', weight=4, weight1 = 3)
g.add_edge('GO:6789056','GO:5674321', weight=4, weight1 = None)
weight=g.es["weight"]
weight1=g.es["weight1"]
print(g.es[1].attributes())
print(g.shortest_paths_dijkstra(source="GO:1234567", target="GO:5674321", weights=weight1, mode=OUT))

这段代码不能工作,因为第二边缘对weight1没有任何价值。如果weight1不存在,我如何定义它,然后使用权重作为权重属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-15 17:18:24

我通过其中一个开发人员(在github上)找到了一个解决方案。

代码语言:javascript
复制
g.es["weight1"] = [
    w1 if w2 is None else w2
    for w1, w2 in zip(g.es["weight"], g.es["weight1"])
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53182147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档