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

Python NetworkX中用元组列表构建图返回None的问题求助

解决NetworkX构建图时add_edges_from返回None的问题

NetworkX中的add_edges_from方法是原地修改图实例,不会返回新的图对象,因此它的返回值固定为None。你之前错误地将这个返回值赋值给变量,导致无法获取有效的图对象。

单个图的修正代码

直接对创建的图实例调用add_edges_from,之后操作原实例即可:

import networkx as nx

e = [(1,2),(1,3),(2,3)]
G = nx.Graph()
G.add_edges_from(e)  # 原地修改G,无需接收返回值
print(G.nodes)  # 直接通过G访问图的属性

批量创建多个图的修正代码

需要先创建图实例,调用add_edges_from完成修改后,再将实例加入列表,而不是把方法的返回值加入:

e = [[(1,2),(1,3),(2,3)],[(10,20),(10,30),(20,30)]]
graph_list = []
for edges in e:
    g = nx.Graph()  # 先初始化图实例
    g.add_edges_from(edges)  # 给当前实例添加边
    graph_list.append(g)  # 将图实例存入列表

print(graph_list[0].nodes)  # 现在可以正常访问图的节点属性

关键注意点

  • NetworkX的图修改类方法(如add_edges_from、add_node、remove_edge等)均为原地操作,返回None,不要尝试接收它们的返回值作为新图。
  • 所有图的操作和属性访问,都基于你最初创建的nx.Graph()(或其他类型图)实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:42:42