python中list.append()后面数据覆盖前面数据分析及解决办法

      今天在用python写代码时,在一个循环中想把一个变量vector利用vector.append(vector)写进列表vector2中,结果发现无法实现,vector后面的值会将列表中前面的值覆盖,在请教了几位大牛后,问题终于解决了。

原因分析:Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
                 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 
                 2. copy.deepcopy 深拷贝 拷贝对象及其子对象

解决方法:我使用的是copy.deepcopy函数,成功了!

祝各位好运!!!

参考链接:http://greybeard.iteye.com/blog/1442259




你可能感兴趣的:(Python,caffe,错题本)