gpt4 book ai didi

Python networkx图复制进入递归循环并失败

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:29 26 4
gpt4 key购买 nike

我将其发布在这里既作为答案(遵循)又作为问题。

我正在复制一个图形,然后修剪某些边缘,增加路径搜索,然后修剪并重复(在递归、深度优先路径搜索中)。

问题:

我稍微理解浅复制和深复制之间的区别,但是有人能告诉我这两种复制图时的后果吗?

出现我的问题是因为使用 networkx copy 功能时:

G2 = G.copy()

我相信这会创建一个深度复制,我进入了一个递归复制循环,最终失败了(下面的屏幕截图)。我发现使用浅拷贝:

G2 = nx.MultiDiGraph(G)

没有出现这样的问题。但是我想知道我是否可能需要使用其中一种而不是另一种,或者通常情况下一种更可取?

深拷贝问题:

深度复制进入递归复制循环并失败,为什么? enter image description here

最佳答案

我最终发现,并且我没有在其他地方看到任何类似的内容,因此我将其发布在这里以供其他人将来引用,问题的根源是我的节点名称是 beautifulSoup NavigableStrings 和不是字符串。

我的节点名称是由一个函数生成的,该函数解析一些 html,并按照以下方式创建:

(soup.find(class_='from').abbr.string, soup.find(class_='tp').abbr.string)

只需将 NavigableStrings 转换为字符串即可解决问题:

(str(soup.find(class_='from').abbr.string), str(soup.find(class_='tp').abbr.string))

关于Python networkx图复制进入递归循环并失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37432808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com