La différence entre le python et peu profonde copie de la copie en profondeur

Tout d'abord, l'affectation

alist = [ "a", "b", "c", [5,6], 10]
aa = alist
alist.append ( "yu")
aa.append ( "iop")
alist [3] .append (99 )
alist [3] .append ( "test")
impression (alist)
impression (aa)

les résultats d'exécution sont les suivants:

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

Les instructions d'affectation sont transmises entre deux données mutuellement variables, modifier la valeur d'une variable, d'autres variables auront une incidence sur la valeur de

 

En second lieu, la copie peu profonde, copie ()

copie d'importation

# Copie superficielle, aucune copie des éléments internes de l'élément, comporte des éléments internes auront une incidence sur l'autre pour changer la

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)

imprimer (blist)
impression (bb)

Les résultats:

[90, 'b', ' c', [5, 6, 'qe', 99], 10 'haha'] # blist supplémentaire 'haha', et non pas le bb de valeur, le nombre d'éléments internes pour blist [ 3] , on a ajouté 'qe', sera appliquée à la bb bb [3] les éléments internes
[ 'a', 'B' , 'C', [5, 6, 'qe', 99], 10, 89] #BB 89 ajoutés, pas de valeur blist, le nombre d'éléments internes BB [3] 99 ajouter, agira à blist blist [3] , l'élément interne

En troisième lieu, la copie profonde

copie d'importation

# Profond copie, la copie de chacun des éléments indépendamment les uns des autres modifications, y compris les sous-éléments
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)

imprimer (clist)
impression (cc)

Les résultats:

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

En fait, la copie profonde, tout de l'élément extérieur est copié, la copie en profondeur, changer les valeurs de deux variables, n'affectera pas les uns des autres

 

Je suppose que tu aimes

Origine www.cnblogs.com/banxiade/p/12470241.html
conseillé
Classement