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!