Python基础之深浅copy】的更多相关文章

1. 赋值 lst1 = [1, 2, 3, ["a", "b", "c"]] lst2 = lst1 lst1[0] = 11 print(lst1) #[11, 2, 3, ['a', 'b', 'c']] print(lst2) #[11, 2, 3, ['a', 'b', 'c']] lst1[3][0] = "d" print(lst1) #[11, 2, 3, ['d', 'b', 'c']] print(lst2…
#1数据类型的补充#2.集合set#3.深浅copy 补充:str --> bytes s.encode('gbk')bytes --> str s.decode('gbk') 1.数据类型的补充. str : isspace 判断是不是空格. list: 再循环一个列表时候,进行删除的动作时候,容易出错.一旦删除索引将会改变,所以才会报错 1,反向删除 2.增加替换 3.增加删除,两个for循环 4.步长删除. li = ['老男孩', 'python', 'alex', 'wusir',…
一.数据类型补充 1.str:.isspace()字符串是空格或至少是一个空格. s='alex' s1=' ' ret=s1.isspace() print(ret)执行结果:True  2.tul: 对于元组如果只有一个元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu=(1) tu1=(1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行结果: 1 <class 'int'> (1,) <class 'tuple'&g…
1.1 深浅 copy 1. =  赋值操作, lis1=[1,2,3]  list2 = list1  list1.append(4)  则list1,list2都变 赋值都指向同一个地址,改变一个就会改变另外一个 赋值操作 他俩一样的 2.copy 浅拷贝   复制了一份,创建新对象, 拷贝第一层 list1 = [1,2,3]      list2 = list1.copy()        list1和list2不是一个对象 list1 = [1,2,3]      list2=list…
赋值 字符串和数字 # id()函数可以获取变量在内存中的地址标识 num1 = 2; num2 = 2; print(id(num1)) # result:8791124202560 print(id(num2)) # result:8791124202560 str1 = ' str2 = ' print(id(str1)) # result:39986040 print(id(str2)) # result:39986040 结论:对于数字和字符串来说,赋值时如果有相同的值在python管…
深浅拷贝 s=[[1,2],'fgfgf','cx'] s3=s.copy() print(s) print(s3) 测试 D:\python\python.exe D:/untitled/dir/for.py [[1, 2], 'fgfgf', 'cx'] [[1, 2], 'fgfgf', 'cx'] Process finished with exit code 0 浅拷贝之修改 s=[[1,2],'fgfgf','cx'] s3=s.copy() print(s3) s3[1]='chh…
对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy").center(60,'*') print(num,id(num)) print(copy_num,id(copy_num)) print("These are deep copy").center(60,'*') deep_copy_num = copy.deepcopy(num) pr…
赋值 #赋值,指向同一内存地址 l1 = [1,2,3,4,5] l2 = l1 print(l1,l2) print(id(l1),id(l2)) 浅copy #浅copy,第一层互相独立,创建了新的内存地址,第二层之后,都指向同一地址 l1 = [1,2,3,[4,5,6]] l2 = l1.copy() print(l1,id(l1)) print(l2,id(l2)) l1.append('第一层')#第一层改变,copy不会改变 print(l1) print(l2) l1[3].ap…
a1=["a","b","c","aa"] b1=a1 a1[0]=" print(a1,b1) 此时结果为: a1=[","b","c","aa"] b1=[","b","c","aa"] 当两个列表赋值想等的话,改变其中一个列表里的元素,另一个列表中的元素也会随之变化. a1…
浅拷贝 没有嵌套,则copy后完全不同,有嵌套,则copy后本体不同,嵌套相同. l1 = [1, 2, [4, 5, 6], 3] l2 = l1.copy() print(l1 is l2) # False print(l1[2] is l2[2]) # True 深拷贝 copy后完全不同,嵌套也不同. import copy l1 = [1, 2, [4, 5, 6], 3] l2 = copy.deepcopy(l1) print(l1 is l2) # False print(l1[…