1.赋值操作

 list_1 = [1,2,3,['barry','Jerry']]
list_2 = list_1
list_1[0] = 111
print(list_1) # [111, 2, 3, ['barry', 'Jerry']]
print(list_2) # [111, 2, 3, ['barry', 'Jerry']]

对于赋值运算操作。list[1]与list[2]指向的是同一个内存地址。所以完全一样

2.浅拷贝

 # -------------浅拷贝----------------
# 对于浅拷贝而言。第一层的创建时新的内存地址。而从第二层开始指向的都是同一块内存地址
list_1 = [1,2,3,['barry','Jerry']]
list_2 = list_1.copy()
list_1[0] = 111
print(id(list_1[3])) # 40904072 同一块内存地址
print(id(list_2[3])) # 40904072 同上
print(list_1) # [111, 2, 3, ['barry', 'Jerry']]
print(list_2) # [1, 2, 3, ['barry', 'Jerry']]

对于浅拷贝而言。第一层创建时产生新的内存地址。而从第二层开始指向的都是同一块内存地址

3.深拷贝

 # -------------深拷贝----------------
import copy
list_1 = [1,2,3,['barry','Jerry']]
list_2 = copy.deepcopy(list_1)
list_1[3][0]=['Jack']
print(list_1) # [1, 2, 3, [['Jack'], 'Jerry']]
print(list_2) # [1, 2, 3, ['barry', 'Jerry']]

对于深拷贝而已。创建两个不同的内存地址。只是将list1 中的元素完整的拷贝一份给list2

最新文章

  1. 无限循环轮播图之结构布局(原生JS)
  2. jQuery 模态对话框示例
  3. 服务器监控之 Monitorix 初体验
  4. [Andriod] - Andriod Studio + 逍遥模拟器
  5. VB 编程
  6. ArrayList其实就那么一回事儿之源码浅析
  7. 缺少google api密钥,因此chromium的部分功能将无法使用”的解决办法
  8. mysql 字段引号那个像单引号的撇号用法
  9. 黄聪:WordPress根目录(Root)
  10. kendo ui grid 汉化
  11. Android studio出现Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Reques的解决办法
  12. 【小白成长撸】--Fibonacci
  13. JavaScript之BOM
  14. 使用mybatis-generator工具自动生成mybatis代码
  15. 在java中浅谈Math类中的常用方法
  16. BZOJ 4326 运输计划
  17. exBSGS·BSGS-Senior/扩展的BSGS
  18. BZOJ1901Zju2112 Dynamic Rankings——树状数组套主席树
  19. JAVA通过XPath解析XML性能比较
  20. phpStorm 8.0.3 设置

热门文章

  1. Pasha and Tea
  2. rabbitmqctl常用命令-3
  3. ibatis 的使用
  4. CENTER OS7关闭防火墙
  5. POJ 1860 Currency Exchange (Bellman-Ford)
  6. python 装饰器 第九步:使用类来作为装饰器
  7. 创建网关项目(Spring Cloud Gateway)
  8. 构建一个简单的Spring Boot项目
  9. 【题解】Antisymmetry
  10. WebSocket 网页聊天室