You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将NetworkX网络边属性元组列表转换为元组为键的边标签字典

转换实现方案

你可以通过Python的字典推导式快速完成格式转换,代码非常简洁:

# 方式1:先提取边列表再转换
edge_list = list(sub_gr.edges(data=True))
edge_labels = {(u, v): attrs for u, v, attrs in edge_list}

你也可以省略转列表的步骤,直接对边迭代器构造字典,代码更精简:

# 方式2:一步完成转换
edge_labels = {(u, v): attrs for u, v, attrs in sub_gr.edges(data=True)}
注意事项
  • 该转换结果完全适配nx.draw_networkx_edge_labels的参数要求,无需额外调整边的节点顺序,可直接传入使用
  • 若你使用的是多重图(MultiGraph/MultiDiGraph),则需要额外捕获边的key作为键的一部分,普通图无需额外处理
完整使用示例
import networkx as nx

# 假设你已完成sub_gr的构造和节点位置pos的计算
pos = nx.spring_layout(sub_gr)
# 构造符合要求的边标签字典
edge_labels = {(u, v): attrs for u, v, attrs in sub_gr.edges(data=True)}
# 绘制网络和边标签
nx.draw(sub_gr, pos, with_labels=True)
nx.draw_networkx_edge_labels(sub_gr, pos, edge_labels=edge_labels, font_color='red')

内容的提问来源于stack exchange,提问作者Ailurophile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 22:24:06