[Introduction à Udemy Python3 + Application] 19. Copie de la liste

** * Cet article provient d'Udemy "[Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + style de code de style américain de la Silicon Valley](https://www.udemy.com/course/python-beginner/" Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + Style de code de style de la Silicon Valley américaine ")" C'est une note de classe pour moi après avoir suivi le cours. Il est ouvert au public avec la permission de l'instructeur Jun Sakai. ** **

■ Comportement lors du remplacement d'une liste

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]

Même si je viens de jouer avec «x», le changement s'étend à «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]

En utilisant x.copy () au lieu de x, Vous pouvez remplacer "une copie de x" par "y" au lieu de "" x "lui-même".


## ■ Pourquoi a-t-il été affecté? ##### ◆ Un autre identifiant

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

Si vous essayez de faire de même avec des valeurs numériques au lieu de listes, la réécriture de «Y» n'affectera pas «X». Si vous regardez les identifiants de X et Y en utilisant ʻid ()`, vous pouvez voir que ce sont des identifiants différents.

◆ Même identifiant

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

Dans la liste, la réécriture de «Y» affecte également «X». Dans ce cas, si vous regardez l'id, vous pouvez voir que les deux «X» et «Y» pointent vers le même id.

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

Si évité par .copy () Vous pouvez voir que les identifiants de «X» et «Y» sont différents.

Recommended Posts

[Introduction à Udemy Python3 + Application] 19. Copie de la liste
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
[Introduction à Udemy Python3 + Application] 18. Méthode List
[Introduction à l'application Udemy Python3 +] 17. Opération de liste
[Introduction à l'application Udemy Python3 +] 16. Type de liste
[Introduction à Udemy Python3 + Application] 60. Notation d'inclusion de liste
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
[Présentation de l'application Udemy Python3 +] 57. Décorateur
[Présentation de l'application Udemy Python3 +] 56. Clôture
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à l'application Udemy Python3 +] Résumé
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
[Introduction à Udemy Python3 + Application] 52. Tapple d'arguments positionnels
[Introduction à l'application Udemy Python3 +] 28. Type collectif
[Introduction à Udemy Python3 + Application] 25. Méthode de type dictionnaire
[Introduction à l'application Udemy Python3 +] 33. instruction if
[Introduction à l'application Udemy Python3 +] 55. Fonctions intégrées
[Introduction à l'application Udemy Python3 +] 48. Définition des fonctions
[Introduction à l'application Udemy Python3 +] 10. Valeur numérique
[Introduction à l'application Udemy Python3 +] 21. Type Taple
[Introduction à l'application Udemy Python3 +] 45. fonction enumerate
[Introduction à l'application Udemy Python3 +] 41. fonction d'entrée
[Introduction à l'application Udemy Python3 +] 65. Gestion des exceptions
[Introduction à l'application Udemy Python3 +] 11. Chaîne de caractères
[Introduction à l'application Udemy Python3 +] 44. fonction range
[Introduction à l'application Udemy Python3 +] 46. fonction zip
[Introduction à l'application Udemy Python3 +] 24. Type de dictionnaire
[Introduction à Udemy Python3 + Application] 8. Déclaration de variable
[Introduction à Udemy Python3 + Application] 29. Méthode Set
[Introduction à Udemy Python3 + Application] 61. Notation d'inclusion de dictionnaire
[Introduction à l'application Udemy Python3 +] 22. Déballage de taples
[Introduction à Udemy Python3 + Application] 69. Importation du chemin absolu et du chemin relatif
[Introduction à l'application Udemy Python3 +] 12. Indexation et découpage des chaînes de caractères
[Introduction à l'application Udemy Python3 +] 23. Comment utiliser Tapuru
[Introduction à Udemy Python3 + Application] 38. Lors du jugement Aucun
[Introduction à l'application Udemy Python3 +] 40. Instruction while else
[Introduction à Udemy Python3 + Application] 62. Définir la notation d'inclusion
[Introduction à l'application Udemy Python3 +] 64. Espace de noms et portée
[Introduction à l'application Udemy Python3 +] 43. instruction for else
[Introduction à Udemy Python3 + Application] 67. Arguments de ligne de commande
[Introduction à l'application Udemy Python3 +] 9. Tout d'abord, imprimez avec print
[Introduction à l'application Udemy Python3 +] 54. Qu'est-ce que Docstrings?
[Introduction à Udemy Python3 + Application] 14. Substitution de caractères 15.f-strings
[Python] Copie d'une liste multidimensionnelle
[Introduction à Python] <liste> [modifier le 22/02/2020]
[Introduction à l'application Udemy Python3 +] 66. Création de votre propre exception
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
[Introduction à Udemy Python3 + Application] 30. Comment utiliser l'ensemble
[Introduction à Udemy Python3 + Application] 68. Instruction d'importation et AS
[Introduction à l'application Udemy Python3 +] 42. pour instruction, instruction break et instruction continue
[Introduction à l'application Udemy Python3 +] 39. instruction while, instruction continue et instruction break
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
[Introduction à l'application Udemy Python3 +] 32.1 Lorsqu'une ligne devient longue
[Introduction à Udemy Python3 + Application] 50. Arguments de position, arguments de mots-clés et arguments par défaut
[Introduction à Udemy Python3 + Application] 51. Soyez prudent avec les arguments par défaut
Copie de python
Introduction de Python
Résumé de l'utilisation de la liste Python
[Introduction au Data Scientist] Bases de Python ♬