最近需要处理dict-list复合型数据,比如[{1:2,3:4}, {7:[8,9,10]}, {11:[12,{13:14}]}],但是处理的时候发现一个问题,如果同时有两处{1:2, 3:4}(处于不同的结构中),在for in 的循环中修改一处会导致另外一处也会被修改,这是不是因为数据一样所以指针相同?在for in的循环中也不太方便用deepcopy,如何处理这种问题?
刚刚又发现同样的代码在windows环境下能成功,而linux下会发生上面的问题.
最近需要处理dict-list复合型数据,比如[{1:2,3:4}, {7:[8,9,10]}, {11:[12,{13:14}]}],但是处理的时候发现一个问题,如果同时有两处{1:2, 3:4}(处于不同的结构中),在for in 的循环中修改一处会导致另外一处也会被修改,这是不是因为数据一样所以指针相同?在for in的循环中也不太方便用deepcopy,如何处理这种问题?
刚刚又发现同样的代码在windows环境下能成功,而linux下会发生上面的问题.
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
经过核实,确实是在linux下会发生同样的指针指向同样的dict的问题,windows下却不会.暂时换了一个逻辑规避了这个问题.