Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Perubahan pada Salinan Senarai Python Mempengaruhi Senarai Asal?

Mengapa Perubahan pada Salinan Senarai Python Mempengaruhi Senarai Asal?

Susan Sarandon
Susan Sarandonasal
2024-11-08 20:19:02421semak imbas

Why Do Changes to a Python List Copy Affect the Original List?

Python: Memahami Penyalinan Rujukan

Apabila mencipta salinan senarai dalam Python, agak mengejutkan untuk mengetahui bahawa perubahan dibuat pada salinan juga menjejaskan senarai asal. Ini kerana Python menggunakan penyalinan rujukan, yang mencipta rujukan kepada senarai asal dan bukannya contoh yang berasingan.

Untuk menggambarkan, mari kita pertimbangkan kod berikut:

org_list = ['y', 'c', 'gdp', 'cap']

copy_list = org_list

copy_list.append('hum')

print(copy_list)
print(org_list)

Kod ini akan dikeluarkan :

['y', 'c', 'gdp', 'cap', 'hum']
['y', 'c', 'gdp', 'cap', 'hum']

Seperti yang kita lihat, senarai org_list asal diubah suai selepas operasi tambah copy_list. Ini kerana copy_list bukan contoh yang berasingan tetapi merujuk kepada org_list.

Untuk mencipta salinan bebas senarai asal, kita boleh menggunakan operator penghirisan:

copy_list = org_list[:]

Ini mencipta senarai baharu yang merupakan salinan org_list. Perubahan yang dibuat pada copy_list tidak akan menjejaskan org_list lagi. Pendekatan ini juga boleh digunakan untuk menyalin jenis pembolehubah lain, seperti Pandas DataFrames.

Atas ialah kandungan terperinci Mengapa Perubahan pada Salinan Senarai Python Mempengaruhi Senarai Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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