4.1 每日一练
""" 1、写代码 tupleA = ("a","b","c","d","e") tupleB = (1,2,3,4,5) RES = {"a":1,"b":2,"c":3,"d":4,"e":5} 写出由tupleA和tupleB得到res的及具体实现过程 tupleA = ('a','b','c','d','e') tupleB = (1,2,3,4,5) res = dict(zip(tupleA,tupleB)) 2、简述Python的深浅拷贝? 浅拷贝:数据半共享(复制其数据独立内存存放,但是只拷贝成功第一层) a = [1,2,3,[4,5,6]] b = a.copy() #浅拷贝方法 print(b) #输出:[1, 2, 3, [4, 5, 6]] b浅拷贝了a b[3][1] = 'aaa' print(a) #输出:[1, 2, 3, [4, 'aaa', 6]] print(b) #输出:[1, 2, 3, [4, 'aaa', 6]] #b把其列表的数据修改后,a也被改变了 a[1] = 9 print(a) #输出:[1, 9, 3, [4, 'aaa', 6]] print(b) #输出:[1, 2, 3, [4, 'aaa', 6]] #修改a的第一层元素,并不会影响到b a[3][1] = 9 print(a) #输出:[1, 9, 3, [4, 9, 6]] print(b) #输出:[1, 2, 3, [4, 9, 6]] #修改a的第二层元素,会影响到b
深拷贝:数据完全不共享(复制其数据完完全全放独立的一个内存,完全拷贝,数据不共享) 深拷贝就是完完全全复制了一份,且数据不会互相影响,因为内存不共享 import copy a = [1,2,3,[4,5,6]] b = copy.deepcopy(a) #深拷贝方法 print(a) #--输出:[1, 2, 3, [4, 5, 6]] print(b) #--输出:[1, 2, 3, [4, 5, 6]] a[3][1] = 9 b[3][1] = 10 print(a) #--输出:[1, 2, 3, [4, 9, 6]] print(b) #--输出:[1, 2, 3, [4, 10, 6]] """