Maison > développement back-end > Tutoriel Python > Comment puis-je copier indépendamment des listes imbriquées en Python ?

Comment puis-je copier indépendamment des listes imbriquées en Python ?

Barbara Streisand
Libérer: 2024-12-07 09:20:16
original
729 Les gens l'ont consulté

How Can I Independently Copy Nested Lists in Python?

Copie de listes imbriquées : atteindre l'indépendance dans la manipulation des données

En Python, la copie de listes unidimensionnelles est simple à l'aide de l'opérateur d'affectation de découpage ([ : ]). Cependant, cette méthode ne parvient pas à préserver l’indépendance des données lorsqu’il s’agit de listes imbriquées (2D ou supérieures). Le problème vient des références mémoire interconnectées établies lors de l'affectation initiale.

a = [[1, 2],[3, 4]]
b = a[:]

Les modifications apportées à b se propageront par inadvertance à a car les références, et non les valeurs, sont dupliquées. Pour contourner ce problème, Python propose un utilitaire spécialisé pour la copie profonde : la fonction copy.deepcopy().

import copy
b = copy.deepcopy(a)

Contrairement au slicing méthode, copy.deepcopy() parcourt la structure imbriquée de manière récursive, créant de nouveaux objets entièrement séparés de l'original. Cela garantit que toute modification de b reste isolée, préservant l'intégrité de a.

En employant copy.deepcopy(), vous pouvez répliquer en toute confiance des listes imbriquées, en préservant l'indépendance des données et en permettant une flexibilité inégalée dans la manipulation des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal