gpt4 book ai didi

python - 关于使用循环引用序列化数据的概念问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:00 26 4
gpt4 key购买 nike

我正在尝试在 python 中实现一个序列化程序,它试图做这样的事情。

如果有一个对象 Foo,具有对 Bar 的前向引用,序列化程序将转储 Foo 中的所有数据,并且该引用将转换为 Bar 的数据转储。对于任意深度,事情都会像这样递归地完成。

但是我在使用这种方法时遇到了一个问题,即循环引用,如果 Foo 引用 Bar 而 Bar 引用 Foo 怎么办?然后将创建一个无限递归。

解决这个问题的方法是什么。

注意:我无法控制要序列化的数据,因此我不能排除循环引用。

最佳答案

通过深度优先搜索记录它已经看到的项目,预先将结构展平。为每个对象分配一个 id 并将对象引用替换为 id 引用。

(本质上,把它变成一个图表。)

关于python - 关于使用循环引用序列化数据的概念问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5424456/

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