我在把一个元组列表(graphLowCopy.edges得到的值就是一个元组列表即[(1,2),(1,3)]类似这样的)定义成numpy数组时,

eee = np.array(graphLowCopy.edges)

发生了以下的错误:

国内的很多回答都不靠谱,于是我到stack overflow上面搜索答案,有人提到:

 我想起来我之前使用

# 这一轮删除的节点的编号
nodesLow = list(graphLowSource.nodes)
nodesDelete = np.random.choice(nodesLow, trueSize, replace=False)

的时候也出现过这个问题,但是我加了个list()就没报错,于是我便把

eee = np.array(graphLowCopy.edges)

改成了

eee = np.array(list(graphLowCopy.edges))

就没报错了。

结论(只提供某种思路):

如果你用到numpy的时候出现类似我这样的问题,原因便是你使用numpy要操作的对象需要是list,但是你可能没注意到这个问题或是理所当然的认为你这个对象就是list,这就可能导致这个问题的出现。所以你需要将你使用numpy操作的对象强制性的转成list。就像

# 这一轮删除的节点的编号
nodesLow = graphLowSource.nodes
nodesDelete = np.random.choice(nodesLow, trueSize, replace=False)

改成

# 这一轮删除的节点的编号
nodesLow = list(graphLowSource.nodes)
nodesDelete = np.random.choice(nodesLow, trueSize, replace=False)

这样。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐