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

如何对NetworkX Graph的节点进行不区分大小写排序?

解决NetworkX节点不区分大小写排序的报错问题

你遇到的报错原因很明确:G.nodes(data=True)返回的是**(节点名称, 属性字典)**的元组列表,直接用str.lower作为排序key会触发类型错误——str.lower只能处理字符串,无法作用于元组对象。

要实现不区分大小写排序,只需在key参数里指定取元组中的节点名称部分转小写即可,修改后的代码如下:

H = nx.Graph()
# 以元组第一个元素(节点名)的小写形式作为排序依据
H.add_nodes_from(sorted(G.nodes(data=True), key=lambda x: x[0].lower()))
H.add_edges_from(G.edges(data=True))

如果你的节点名称存在非字符串类型(比如数字),可以先转成字符串再处理,避免额外类型错误:

H.add_nodes_from(sorted(G.nodes(data=True), key=lambda x: str(x[0]).lower()))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:30:53