Bagaimana untuk Mencipta Salinan Benar-benar Bebas Senarai Bersarang dalam Python?

Linda Hamilton
Lepaskan: 2024-11-24 01:53:12
asal
346 orang telah melayarinya

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

Menyalin Senarai Bersarang: Memelihara Kemerdekaan

Apabila bekerja dengan senarai bersarang, selalunya wajar untuk membuat salinan bebas senarai, memastikan bahawa pengubahsuaian yang dibuat pada satu senarai tidak menjejaskan senarai yang lain. Ini tidak semudah dengan senarai satu dimensi, di mana salinan cetek menggunakan [:] sudah memadai.

Untuk senarai dua dimensi, pendekatan naif menggunakan [:] menghasilkan salinan cetek, di mana senarai dalaman masih dirujuk oleh kedua-dua yang asal dan salinan. Akibatnya, pengubahsuaian yang dibuat pada salinan ditunjukkan dalam yang asal.

Untuk mencapai kemerdekaan sebenar, salinan yang mendalam diperlukan. Ini melibatkan mencipta objek baharu untuk setiap elemen dalam senarai, termasuk sebarang senarai bersarang. Fungsi copy.deepcopy() menyediakan cara yang mudah untuk mencapai salinan dalam, dengan berkesan memutuskan pautan rujukan antara yang asal dan salinan.

Dengan menggunakan copy.deepcopy() seperti berikut, kami boleh mencipta salinan bebas daripada senarai dua dimensi a:

import copy
b = copy.deepcopy(a)
Salin selepas log masuk

Kini, sebarang perubahan yang dibuat kepada b tidak akan menjejaskan a, dan sebaliknya sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Salinan Benar-benar Bebas Senarai Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan