关闭

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

2225人阅读 评论(0) 收藏 举报
分类:

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

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

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

祝各位好运!!!

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:614849次
    • 积分:6999
    • 等级:
    • 排名:第3389名
    • 原创:92篇
    • 转载:240篇
    • 译文:0篇
    • 评论:236条
    最新评论