Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menyalin Senarai Bersarang dalam Python Dengan Cekap Tanpa Menjejaskan Yang Asal?
Menyalin Senarai Bersarang dengan Cekap dalam Python
Dalam Python, menyalin senarai bersarang boleh menjadi rumit kerana sifatnya yang boleh berubah. Mengubah suai satu senarai akan menjejaskan senarai asal jika teknik penyalinan cetek digunakan. Untuk mengatasi had ini, adalah penting untuk memahami nuansa penyalinan senarai dalam Python dan memilih kaedah yang memastikan kebebasan senarai yang disalin.
Pertimbangkan contoh senarai 1D:
a = [1, 2] b = a[:]
Dalam senario ini, penyalinan cetek adalah mencukupi, kerana mengubah suai b tidak menjejaskan a. Walau bagaimanapun, pendekatan yang sama gagal apabila bekerja dengan senarai 2D atau bersarang:
a = [[1, 2], [3, 4]] b = a[:]
Mengubah suai b dalam kes ini juga akan menjejaskan a. Untuk mencipta salinan senarai bersarang yang benar-benar bebas, seseorang mesti mendalami tahap penyalinan yang lebih mendalam.
Penyelesaian: Penyalinan Dalam Menggunakan copy.deepcopy()
Salinan Python modul menyediakan penyelesaian yang mantap untuk menyalin dalam senarai bersarang dengan fungsi deepcopy()nya. Tidak seperti penyalinan cetek, fungsi ini berulang secara rekursif melalui struktur bersarang, mencipta salinan bebas pada setiap peringkat:
import copy b = copy.deepcopy(a)
Dengan deepcopy() disediakan, mengubah suai b tidak akan memberi kesan kepada senarai asal a. Teknik ini memastikan bahawa kedua-dua senarai adalah berasingan dan boleh dimanipulasi secara bebas, menangani isu pengubahsuaian senarai bersarang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalin Senarai Bersarang dalam Python Dengan Cekap Tanpa Menjejaskan Yang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!