博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_bomb----拷贝与赋值
阅读量:7113 次
发布时间:2019-06-28

本文共 833 字,大约阅读时间需要 2 分钟。

相等

'is '和'=='

变量

id:在内存中的存储位置,id(a)
value: ==
type:数据类型
==: 判断数据类型和值
is:判断id,数据类型和值

li =[1,'1',6]li1 = li    #直接赋值,两者满足'is'li1[1, '1', 6]id(li)140492002190728id(li1)140492002190728li is li1Trueli2 =li.copy()    #列表拷贝,另外开辟内存空间li2[1, '1', 6]li2 is liFalseli2 == liTrue

深拷贝与浅拷贝

所有的数值类型(布尔、数字)、字符串都是不可变数据类型

列表是可变数据类型

列表里嵌套列表时,浅拷贝是拷贝内置列表的存储位置

深拷贝会把内置列表的内容拷贝出来,重新存储一份

浅拷贝

  • li.copy()
  • li[:]
li=[[1,3],'2',4]li1 = li.copy()li1[[1, 3], '2', 4]li[0].append(5)li[[1, 3, 5], '2', 4]li1[[1, 3, 5], '2', 4]

import copy

  • copy.copy(li)
>>> import copy>>> li2 = copy.copy(li)>>> li[0].append(0)>>> li[[1, 3, 5, 0], '2', 4]>>> li2[[1, 3, 5, 0], '2', 4]

图片描述

深拷贝

import copy

  • copy.deepcopy()
>>> li3 = copy.deepcopy(li)>>> li[0].append(1001)>>> li[[1, 3, 5, 0, 1001], '2', 4]>>> li3[[1, 3, 5, 0], '2', 4]>>> id(li[0])139645242725128>>> id(li3[0])139645237769992

图片描述

转载地址:http://hdwel.baihongyu.com/

你可能感兴趣的文章
LeetCode OJ:Permutations(排列)
查看>>
云科技时代:阿里云创造者写了《在线》,这是一本怎样的书?
查看>>
PyQt5:常用控件
查看>>
WordPress部署踩坑记
查看>>
sublime-snippets 插件编写
查看>>
代码规范
查看>>
Leetcode | Length of Last Word
查看>>
2017.4.16关于在线图书商城注册界面总结
查看>>
HTML基础
查看>>
MyBatis初探
查看>>
线程和进程的区别
查看>>
[POI2008]Station
查看>>
王昆扬老师发来的材料:关于实数的构造
查看>>
[转] Javascript继承机制的设计思想
查看>>
夜间模式的开启与关闭,父模板的制作
查看>>
ffmpeg为视频添加时间戳 - 手动编译ffmpeg
查看>>
C# ABP 配置连接数据库&创建表
查看>>
1189:Pell数列
查看>>
求水缸深度-深信服2019春招
查看>>
用vs2008编写的控制台程序怎么改exe文件的图标?(转)
查看>>