** * Dieser Artikel ist von Udemy "[Einführung in Python3, unterrichtet von aktiven Silicon Valley-Ingenieuren + Anwendung + Code-Stil im amerikanischen Silicon Valley-Stil](https://www.udemy.com/course/python-beginner/" Einführung in Python3, unterrichtet von aktiven Silicon Valley-Ingenieuren + Anwendung + Code-Stil im amerikanischen Silicon Valley-Stil ")" Es ist eine Klassennotiz für mich, nachdem ich den Kurs von belegt habe. Es ist mit Genehmigung des Ausbilders Jun Sakai für die Öffentlichkeit zugänglich. ** **.
list_copy
x = [1, 2, 3, 4, 5]
y = x
y[0] = 100
print('x = ', x)
print('y = ', y)
result
x = [100, 2, 3, 4, 5]
y = [100, 2, 3, 4, 5]
Obwohl ich gerade mit "x" herumgespielt habe, erstreckt sich die Änderung auf "y".
list_copy
x = [1, 2, 3, 4, 5]
y = x.copy()
y[0] = 100
print('x = ', x)
print('y = ', y)
result
x = [1, 2, 3, 4, 5]
y = [100, 2, 3, 4, 5]
Wenn Sie "x.copy ()" anstelle von "x" verwenden, Sie können "eine Kopie von" x "" in "y" anstelle von "x" selbst "ersetzen.
id_different
X = 20
Y = X
Y = 5
print('X = ', X)
print('Y = ', Y)
print('id of X =', id(X))
print('id of Y =', id(Y))
result
X = 20
Y = 5
id of X = 4364961520
id of Y = 4364961040
Wenn Sie versuchen, dasselbe mit numerischen Werten anstelle von Listen zu tun, wirkt sich das Umschreiben von "Y" nicht auf "X" aus. Wenn Sie sich die IDs von "X" und "Y" mit "id ()" ansehen, können Sie sehen, dass es sich um unterschiedliche IDs handelt.
id_same
X = ['a', 'b']
Y = X
Y[0] = 'p'
print('X = ', X)
print('Y = ', Y)
print('id of X =', id(X))
print('id of Y =', id(Y))
result
X = ['p', 'b']
Y = ['p', 'b']
id of X = 4450177504
id of Y = 4450177504
In der Liste wirkt sich das Umschreiben von "Y" auch auf "X" aus. In diesem Fall können Sie beim Betrachten der ID sehen, dass sowohl "X" als auch "Y" auf dieselbe ID verweisen.
id_same
X = ['a', 'b']
Y = X.copy()
Y[0] = 'p'
print('X = ', X)
print('Y = ', Y)
print('id of X =', id(X))
print('id of Y =', id(Y))
result
X = ['a', 'b']
Y = ['p', 'b']
id of X = 4359291360
id of Y = 4359293920
Wird durch .copy ()
vermieden
Sie können sehen, dass die IDs von "X" und "Y" unterschiedlich sind.
Recommended Posts