浅copy变化原因
来源:互联网 发布:淘宝卖家拍照技巧 编辑:程序博客网 时间:2024/06/06 04:30
浅copy变化和内存指针变化有关
首先,弄懂赋值变化时内存中指针的变动,如下图
>>> a = 4>>> b = a>>> a #此时a b 都为44>>> b4>>> id(a)10914464>>> id(b) # 此时a和b的内存地址指向完全一致10914464>>> b = 5>>> b # b发生变化,而a没有5>>> a4>>> id(a) # 可以看到a和b的内存地址完全不同了10914464>>> id(b)10914496
浅copy基本上和赋值的变化差不多
分为2种情况,值为非可迭代对象和可迭代对象时,结果分别为各自独立和同步变化
- 1.当值为非可迭代对象时,原对象a和copy对象b,是互不干扰,各自独立的
>>> a = [4,5,6] # a,b都是一个列表>>> b = a.copy()>>> a[4,5,6]>>> b # 此时a,b值一样[4,5,6]>>> b[0]=7>>> b[7,5,6] # b发生变化>>> a[4,5,6] # a无变化
- 2.当值为可迭代对象时,这种情况发生了变化,原因如下
>>> a = [[1,2],4,5]>>> b = a.copy()>>> a[[1,2],4,5]>>> b[[1,2],4,5] #此时a,b相同
>>> b[0][0] = 3 # 对b进行修改>>> b[[3,2],4,5]>>> a[[3,2],4,5] # a跟随b发生了变化
这里list是一个可迭代对象,当list内部值变更时,调用它的a和b两个list也就都随之发生了变化
阅读全文
1 0
- 浅copy变化原因
- block 用copy 原因
- 深copy,浅copy
- Linux系统时间重启后变化原因
- 房地产市场新变化原因有两个
- ListView点击时按下后没有颜色变化原因
- 深copy 以及浅copy
- iOS 深copy 浅copy
- ios 深copy 浅copy
- 深copy和浅copy
- 深copy和浅copy
- 深浅复制和属性为copy,strong值得变化问题?
- NSMutableArray 被copy、strong修饰后的变化
- 手机 同步失败,失败原因:failed to copy
- NSString不用strong而用copy修饰的原因
- OC 中 浅 copy 和 深 copy
- OC的深Copy和浅Copy
- python 深copy和浅copy
- 虚函数作用
- APP测试流程梳理
- SQL NULL 值
- 一个仅接受两个输入向量的协方差计算函数
- 网站倒计时
- 浅copy变化原因
- 产品经理怎么应对需求变动和技术开发?
- POJ2135 Farm Tour(最小费用最大流)
- 一张图解释值类型和引用类型内存分配
- 表的构造数据的复制
- Base64编码与解码
- python
- js中的函数
- 算法系列——Merge Intervals