Comment créer des copies véritablement indépendantes de listes imbriquées en Python ?

Linda Hamilton
Libérer: 2024-11-24 01:53:12
original
371 Les gens l'ont consulté

How to Create Truly Independent Copies of Nested Lists in Python?

Copier des listes imbriquées : préserver l'indépendance

Lorsque vous travaillez avec des listes imbriquées, il est souvent souhaitable de créer une copie indépendante de la liste, en vous assurant que les modifications apportées à une liste n’affectent pas l’autre. Ce n'est pas aussi simple qu'avec les listes unidimensionnelles, où une copie superficielle utilisant [:] est suffisante.

Pour les listes bidimensionnelles, l'approche naïve consistant à utiliser [:] aboutit à une copie superficielle, où les listes internes sont toujours référencées à la fois par l'original et par la copie. En conséquence, les modifications apportées à la copie sont reflétées dans l'original.

Pour atteindre une véritable indépendance, une copie approfondie est requise. Cela implique la création d'un nouvel objet pour chaque élément de la liste, y compris les listes imbriquées. La fonction copy.deepcopy() fournit un moyen simple de réaliser des copies complètes, rompant efficacement le lien de référence entre l'original et la copie.

En utilisant copy.deepcopy() comme suit, nous pouvons créer une copie indépendante de la liste bidimensionnelle a :

import copy
b = copy.deepcopy(a)
Copier après la connexion

Maintenant, toute modification apportée à b n'affectera pas a, et vice versa.

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