我在python3中有一个类,它包含一些变量并表示一个状态。 在程序(模拟)过程中,我需要大量复制这个状态,这样我就可以改变它,仍然有以前的信息。你知道吗
问题是来自copy
模块的deepcopy
太慢。我最好在那个类中创建一个方法来复制一个对象,它将创建并返回一个新对象,并复制每个变量的值?注意:在对象内部还有一个3D列表。你知道吗
有没有别的解决办法?deepcopy
实在太慢了,根据cProfile
,它需要99%以上的执行时间。你知道吗
编辑:将3D列表和其他列表表示为numpy
数组/矩阵,并在自定义复制函数中用numpy
复制它们是更好的方法吗?你知道吗
对于未来有同样问题的人: 我所做的是在类中创建一个方法来手动复制信息。我没有重写deepcopy,也许那样会更干净,也许不会。你知道吗
我尝试过在2D和3D列表中使用和不使用numpy,但是在代码后面附加2个numpy数组要比生成2个列表的总和(对于我的特定程序,我确实需要这样做)花费更多的时间。你知道吗
所以我用了:
相关问题 更多 >
编程相关推荐