关于python深拷贝和浅拷贝的问题
1 import copy 2 #names = "jessie jack serena sally eden" 3 names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"] 4 name2 = copy.copy(names) 5 print(names) 6 print(name2) 7 names[2] = "小敏" 8 names[3][0] = "JEESSIE" 9 print(names) 10 print(name2)
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['JEESSIE', 'saily'], 'edeen']
比如说房间里有小明和小丽,小美知道这个信息后呢,就去这个房间(指针)了,这样,这个房间是不是有三个人了?
浅拷贝:就是把这个指针赋值一个变量,如果你对这个变量做操作,这条记录也会随之变化。
#edit for Kris_ma import copy #names = "jessie jack serena sally eden" names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"] name2 = copy.deepcopy(names) print(names) print(name2) names[2] = "小敏" names[3][0] = "JEESSIE" print(names) print(name2)
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
深拷贝就像 泰国效仿美国的制度,把美国那套政权完全照搬过来,在自己国内实行,直到某一天,泰国发现一些列的问题,就发生了动乱。这样美国会因为这套制度发生动乱吗?所以深拷贝就是把这条记录完全复制给一个全新的变量,这样无论怎么操作这个新的变量,对其之前的不会有任何影响。