python对象引用引起的问题
来源:互联网 发布:淘宝美术设计招聘 编辑:程序博客网 时间:2024/06/01 10:30
我们都知道python中一切皆是对象,这句话我记得很清楚,但是平时用起来确也容易混淆。
今天遇到一个bug,大概情况是这样:
a = [1,2,3]b = [11,22,33]c = [a,b]print c# c = [[1, 2, 3], [11, 22, 33]]
我在一个文件中修改了a,而在另一个列表中读c,结果发现c总是不对…..检查好久才想起来了,c中存贮的a应该是a的引用,也就是python中常见的对象浅拷贝。测试一下:
a[0] = 5print c# c = [[5, 2, 3], [11, 22, 33]]
以后一定要注意啊,特别是多处读写的敌方,很容易忽视!
如果在c中独自保留a的副本,则应该使用copy。
a = [1,2,3]b = [11,22,33]np.copy(a)c = [np.copy(a), b]print ca[0] = 5print c#[array([1, 2, 3]), [11, 22, 33]]#[array([1, 2, 3]), [11, 22, 33]]
0 0
- python对象引用引起的问题
- python对象引用的问题
- std::string引用计数引起的问题
- python的对象引用
- python中对象引用计数的相关问题
- linux下python升级引起的问题
- anaconda引起的python包管理问题
- python的对象及引用
- FlashBuilder引用Flash导出的SWC引起内存泄漏问题
- 【php】foreach中使用引用引起的问题
- Android Studio引用Github类库&引起问题的解决方法
- ArrayList对象引用的问题
- 一个由WebBrowser引起的“未将对象引用设置到对象的实例。”错误
- python中引用的问题
- Python的内存管理、对象的引用
- 数据类型与NSMutableArray添加对象(insertObject)引起的问题
- python对象的引用特征和可变性
- 【Python】引用和对象的理解
- 根据ID从主题中获取值
- AndroidStudio快捷键
- 绪论(3)--周志华机器学习学习笔记与课后习题
- Julia: 自制的Julia代码排版工具CodeBeautify
- sizeof计算对象所占内存的大小详解
- python对象引用引起的问题
- Spring学习历程---方法替换
- 新闻发布项目——接口类(BaseDao)
- PAT 1011
- 蓝桥杯_C语言_本科B——六角填数
- VideoView 组件播放视频
- thinkphp截取文字部分字符串
- 面向对象三大特性
- 新闻发布项目——数据实现类(commentDaoImpl)