资讯专栏INFORMATION COLUMN

python_bomb----拷贝与赋值

masturbator / 1946人阅读

摘要:相等和变量在内存中的存储位置,数据类型判断数据类型和值判断数据类型和值直接赋值,两者满足列表拷贝,另外开辟内存空间深拷贝与浅拷贝所有的数值类型布尔数字字符串都是不可变数据类型列表是可变数据类型列表里嵌套列表时浅拷贝是拷贝内置列表的存储位置深

相等 "is "和"=="

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

li =[1,"1",6]
li1 = li    #直接赋值,两者满足"is"
li1
[1, "1", 6]
id(li)
140492002190728
id(li1)
140492002190728
li is li1
True
li2 =li.copy()    #列表拷贝,另外开辟内存空间
li2
[1, "1", 6]
li2 is li
False
li2 == li
True
深拷贝与浅拷贝

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

列表里嵌套列表时,浅拷贝是拷贝内置列表的存储位置
深拷贝会把内置列表的内容拷贝出来,重新存储一份

浅拷贝

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42232.html

相关文章

  • python_bomb----字符串操作

    摘要:字符串的创建由单引号双引号及三层引号括起来的字符三层引号可输出内容的特定格式转义字符一个反斜线加一个单一字符可以表示一个特殊字符通常是不可打印的字符换行双引号本身占位字符整数浮点数字符串十六进制整数字符串的特性索引正向索引从开始反向索引从 字符串的创建 由单引号、双引号、及三层引号括起来的字符 str = hello,sheen str = hello,sheen ...

    mumumu 评论0 收藏0
  • python_bomb----元组(tuple)

    摘要:元组的创建元组是带了约束的列表,仍可以存放任意数据类型默认元组内容是不可改变的,但当元组内包含可变数据类型时,可以间接修改元组如果元组内只有一个元素,其后要加逗号,否则数据类型不确定元组的常用方法元组的特性索引切片重复连接只能增加元组成 元组(tuple)的创建 元组是带了约束的列表,仍可以存放任意数据类型 >>> sheen =(1,3,True,3.4,[1,4],(1,5)) >...

    layman 评论0 收藏0
  • python_bomb----数据类型

    摘要:数值类型整形长整形有长整形没有长整形浮点型复数类型查看帮助可以使用什么方法,实现什么功能共轭虚部实部初学阶段,避免使用开头的内置功能字符串数据类型学生管理系统学生管理系统数据类型的转换在中,所有的数据类型都可以作为内置函数,用来转换数 数值类型 1.整形 Python 2.7.5 (default, Feb 11 2014, 07:46:25) >>> aint=3 >>> type...

    moven_j 评论0 收藏0
  • python_bomb----数据类型总结

    摘要:数据类型有数字,字符串,值,列表,元组,集合,字典可变与不可变可变与不可变的区别对这个数据类型进行增删改差时,数据存储地址不变,不会开辟新的空间可变不开辟新空间不可变会改变内存地址不可变数据类型数字,字符串,值,元组可变数据类型列表,集合, 数据类型 有:数字,字符串,bool值,列表,元组,集合,字典 可变与不可变 可变与不可变的区别:对这个数据类型进行增删改差时,数据存储地址不变,...

    dkzwm 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<