


Mengapakah Mengemas kini Salinan Cetek Kamus Tidak Mengubah Yang Asal?
Mengapa Mengemas kini Kamus Salinan "Shallow" Tidak Mengemas kini Kamus "Asal"?
Memahami Penyalinan Cetek
Bila mencipta salinan cetek kamus, objek kamus tidak disalin sepenuhnya. Sebaliknya, rujukan baharu kepada objek asal dibuat. Ini bermakna bahawa sebarang perubahan yang dibuat pada salinan cetek juga akan ditunjukkan dalam kamus asal.
Contoh: Kamus
Pertimbangkan contoh berikut:
original = dict(a=1, b=2) new = original.copy() new.update({'c': 3})
Dalam kes ini, baharu ialah salinan asal yang cetek. Apabila baharu dikemas kini dengan {'c': 3}, kamus asal kekal tidak berubah kerana rujukan asal dan baharu adalah objek asas yang sama.
Berbeza dengan Penyalinan Cetek dalam Senarai
Senarai berkelakuan berbeza apabila disalin cetek. Apabila mencipta salinan cetek senarai, rujukan baharu kepada objek senarai asas dibuat. Walau bagaimanapun, sebarang perubahan yang dibuat pada salinan cetek tidak menjejaskan senarai asal, kerana senarai adalah objek boleh ubah yang boleh diubah suai secara bebas.
Memahami Penyalinan Dalam
Tidak seperti cetek penyalinan, penyalinan mendalam mencipta salinan bebas objek asal yang baharu. Ini bermakna bahawa sebarang perubahan yang dibuat pada salinan dalam tidak akan menjejaskan objek asal.
Penyelesaian
Untuk mengemas kini kamus asal, anda perlu membuat salinan mendalam bukannya salinan cetek. Kod berikut menggunakan copy.deepcopy() untuk membuat salinan dalam:
import copy new = copy.deepcopy(original) new.update({'c': 3})
Kini, asal kekal tidak disentuh manakala baharu mempunyai nilai yang dikemas kini.
Atas ialah kandungan terperinci Mengapakah Mengemas kini Salinan Cetek Kamus Tidak Mengubah Yang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django

Memperkenalkan Toolkit Bahasa Alam (NLTK)

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?
