Python之路8-深浅拷贝

#复制列表,浅copy
names = [‘ZhangYang‘,‘ZhaoYi‘,‘ShaoYiFan‘,‘JiaChen‘,‘MengLingJun‘,‘LiuLin‘,[‘YangRui‘]]
names2  = names.copy()
print (names,names2)

import copy
#复制列表,深copy
names2 = copy.deepcopy(names)

names[3] = ‘汤姆‘
names[-1][0] = ‘杰克‘
print (names)
print (names2)
import copy
#浅copy,3中方式
person = [‘name‘,[‘saving‘,100]]
‘‘‘
p1 = copy.copy(person)
p2 = person[:]
p3 = list(person)
‘‘‘
p1 = person[:]
p2 = person[:]
p1[0] = ‘tom‘
p2[0] = ‘jane‘
p1[1][1] = 50
print (p1)
print (p2)
时间: 2024-11-08 21:11:44

Python之路8-深浅拷贝的相关文章

Python求索之路2——深浅拷贝、函数

一.深浅拷贝 深浅拷贝是指copy模块下的copy()和deepcopy()方法. 1.浅拷贝 示例: >>> import copy >>> a = 'hello word' >>> b = {1:'gome',2:'ahaii',3:[1,2,3,4]} >>> a1 = copy.copy(a) >>> b1 = copy.copy(b) >>> print id(a) 14045817573

python变量存储和深浅拷贝

python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身. 引用语义:在python中,变量保存的是对象(值)的引用,我们称为引用语义.采用这种方式,变量所需的存储空间大小一致,因为变量只是保存了一个引用.也被称为对象语义和指针语义. 值语义:有些语言采用的不是这种方式,它们把变量的值直接保存在变量的存储区里,这种方式被我们称为值语义,

python基础三(深浅拷贝)

1.赋值操作 1 list_1 = [1,2,3,['barry','Jerry']] 2 list_2 = list_1 3 list_1[0] = 111 4 print(list_1) # [111, 2, 3, ['barry', 'Jerry']] 5 print(list_2) # [111, 2, 3, ['barry', 'Jerry']] 对于赋值运算操作.list[1]与list[2]指向的是同一个内存地址.所以完全一样 2.浅拷贝 1 # -------------浅拷贝-

Python中列表的深浅拷贝

copy_lst = [ ('py对象三要素',), ('== 比较运算符',), ('is 身份运算符',), ('小数据池',), ('列表的浅拷贝',), ('列表的深拷贝',), ] py对象三要素 id type value == 比较运算符 通过value进行判断 >>>a = 257 >>>b = 257 >>> a == b True is 身份运算符 通过id进行判断 >>>a = 257 >>>b

Python列表操作与深浅拷贝(7)——列表深浅拷贝、删除、反转、排序

列表复制 浅拷贝:简单类型元素全复制,引用类型元素只复制引用 L1 = [3,2,1,[4,5,6],8,'abc'] L1 [3, 2, 1, [4, 5, 6], 8, 'abc'] L2 = L1.copy() L2 [3, 2, 1, [4, 5, 6], 8, 'abc'] L1[3][1] = 10 #修改L1中的元素L2也随之变化 L1 [3, 2, 1, [4, 10, 6], 8, 'abc'] L2 [3, 2, 1, [4, 10, 6], 8, 'abc'] 深拷贝:co

【python之路13】python的深浅拷贝

深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import copy # ######### 数字.字符串 ######### n1 = 123 # n1 = "i am alex age 10" print(id(n1)) # ## 赋值 ## n2 = n1 print(id(n2)) # ## 浅拷贝 ## n2 = copy.copy(

python之路-深浅拷贝

深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所以对于只有一层的数据集合来说深浅拷贝的意义是一样的,比如字符串,数字,还有仅仅一层的字典.列表.元祖等 对于以下数据深浅拷贝的意义是一样的: name = 'beijing' age = 12 list1 = [1,2,3,4] dic1 = {'name':'beijing','age':20}

Python学习之路(四):基础知识之深浅拷贝

1.is和==的区别 == 比较左右两边的值,如果相同,打印的是True,如果不同,打印的是False 1 n = 10 2 n1 = 12 3 print(n == n1) #False is比较的是内存地址 1 a = 'dhj' 2 b = 'dhj' 3 print(a is b) # True 1 a = 'a'*21 2 b = 'a'*21 3 print(a is b) #false 为什么第二个程序中的结果会是False呢,这涉及到一个小数据池的概念: 小数据池只限制于数值和字

python学习笔记4:基础(集合,collection系列,深浅拷贝)

转载至:http://www.cnblogs.com/liu-yao/p/5146505.html 一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)

Python深浅拷贝

深浅拷贝 深浅拷贝分为两部分,一部分是数字和字符串另一部分是列表.元组.字典等其他数据类型. 数字和字符串 对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为他们的值永远都会指向同一个内存地址. # 导入copy模块>>> import copy# 定义一个变量var1>>> var1 = 123# 输出var1的内存地址>>> id(var1)1347747440>>> var2 = var1# var2的内存地址和var1相同