python复制与引用用法分析
本文实例讲述了python复制与引用用法。分享给大家供大家参考。具体分析如下:
简单复制是引用
a=[1,23,4] b=a #这是引用 b.append(2323) print(a,b) #([1, 23, 4, 2323], [1, 23, 4, 2323])
使用copy.copy进行浅拷贝
import copy c=copy.copy(b)#拷贝 c.append(1) print(b,c)#([1, 23, 4, 2323], [1, 23, 4, 2323, 1]) list1=[['a'],[1,2,4],[23,'a']] list_copy=copy.copy(list1) #浅拷贝,生成了一个新对象,但是新对象内的属性和内容仍然是原对象的引用 #当对新对象进行整体修改的时候修改的是本身 list_copy.append('append') print(list_copy)#[['a'], [1, 2, 4], [23, 'a'], 'append'] print(list1)#[['a'], [1, 2, 4], [23, 'a']] #当对新对象的内容进行修改的时候修改的是原对象,因为它仍然是引用 list_copy[1].append('append+') print(list_copy)#[['a'], [1, 2, 4, 'append+'], [23, 'a'], 'append'] print(list1)#[['a'], [1, 2, 4, 'append+'], [23, 'a']]
使用copy.deepcopy进行迭代拷贝,之后就可以更改新对象的属性而不影响原对象了,只是效率会下降和内存占有量会上升。
对于list,dict,set等可直接使用x(object),object为相应类型,进行拷贝,这是最简单最直接有效地方式。
希望本文所述对大家的Python程序设计有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

Solution de problème de détection de type pylance Lorsque vous utilisez un décorateur personnalisé dans la programmation Python, le décorateur est un outil puissant qui peut être utilisé pour ajouter des lignes ...

À propos de Pythonasyncio ...

Utilisation de Python dans Linux Terminal ...

Chargement du fichier de cornichon dans Python 3.6 Erreur d'environnement: modulenotFounonError: NomoduLenamed ...

Problèmes de compatibilité entre les bibliothèques asynchrones Python dans Python, la programmation asynchrone est devenue le processus de concurrence élevée et d'E / S ...

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Le problème et la solution du processus enfant continuent d'exécuter lors de l'utilisation de signaux pour tuer le processus parent. Dans la programmation Python, après avoir tué le processus parent à travers des signaux, le processus de l'enfant est toujours ...
