Menyalin Senarai Bersarang: Mencapai Kebebasan dalam Manipulasi Data
Dalam Python, menyalin senarai satu dimensi adalah mudah menggunakan operator tugasan penghirisan ([ : ]). Walau bagaimanapun, kaedah ini gagal mengekalkan kebebasan data apabila berurusan dengan senarai bersarang (2D atau lebih tinggi). Isu ini timbul daripada rujukan memori yang saling berkaitan yang ditubuhkan semasa tugasan awal.
a = [[1, 2],[3, 4]]
b = a[:]
Pengubahsuaian yang dibuat kepada b secara tidak sengaja akan disebarkan kepada a kerana rujukan, bukan nilai, diduplikasi. Untuk mengelakkan masalah ini, Python menawarkan utiliti khusus untuk penyalinan dalam: fungsi copy.deepcopy().
import copy
b = copy.deepcopy(a)
Tidak seperti penghirisan kaedah, copy.deepcopy() merentasi struktur bersarang secara rekursif, mencipta objek baharu yang berasingan sepenuhnya daripada yang asal. Ini memastikan bahawa sebarang perubahan untuk b kekal terpencil, memelihara integriti a.
Dengan menggunakan copy.deepcopy(), anda dengan yakin boleh meniru senarai bersarang, melindungi kebebasan data dan membolehkan fleksibiliti yang tiada tandingannya dalam manipulasi data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalin Senarai Bersarang Secara Bebas dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!