La diferencia entre el pitón y superficial copia de la copia profunda

En primer lugar, la asignación

alist = [ "a", "b", "c", [5,6], 10]
aa = alist
alist.append ( "yu")
aa.append ( "IOP")
alist [3] .Append (99 )
alist [3] .Append ( "test")
de impresión (alist)
de impresión (aa)

resultados de la ejecución son las siguientes:

[ 'a', 'b', 'c', [5, 6, 99, 'test'], 10, 'yu', 'PIO']
[ 'a', 'b', 'c', [5 , 6, 99, 'test'], 10, 'yu', 'PIO']

instrucciones de asignación se pasan los datos entre dos variables mutuamente, modificar el valor de cualquier variable, otras variables tendrán un impacto en el valor de

 

En segundo lugar, la copia superficial, Copiar ()

copia de importación

# Copia superficial, no hay copias de los elementos internos del elemento, tiene elementos internos afectarán a la otra para cambiar el

blist = [ "a", "b", "c", [5,6], 10]
bb = copy.copy (blist)
blist.append ( "haha")
bb.append (89)

blist [3]. append ( "qe")
bb [3] .Append (99)

imprimir (blist)
de impresión (bb)

Los resultados:

[90, 'b', ' c', [5, 6, 'qe', 99], 10, 'haha'] # blist adicional 'haha', y no el valor bb, el número de elementos internos para blist [ 3] se añadió 'qe', se aplicará a la bb bb [3] los elementos internos
[ 'a', 'b' , 'c', [5, 6, 'qe', 99], 10, 89] #BB añaden 89, no el valor blist, el número de elementos internos BB [3] añadir 99, actuará para blist blist [3] el elemento interno

En tercer lugar, la copia profunda

copia de importación

# Copia profunda, la copia de cada elemento independientemente unos de otros cambios, incluyendo sub-elementos
CLIST = [ "A", "B", "C", [5,6], 10]
CC = copy.deepcopy (clist)
CLIST .Append (90)
cc.append (100)

clist [3] .Append (11)
cc [3] .Append (10)

imprimir (clist)
de impresión (cc)

Los resultados:

[ 'a', 'b', 'c', [5, 6, 11], 10, 90]
[ 'a', 'b', 'c', [5, 6, 10], 10, 100]

De hecho, la copia profunda, todo el elemento externo se copia, la copia profunda, cambie los valores de dos variables, no afectará a la otra

 

Supongo que te gusta

Origin www.cnblogs.com/banxiade/p/12470241.html
Recomendado
Clasificación