Python: Mengubah Suai Salin Mempengaruhi Pembolehubah Asal
S: Apabila mencipta dan mengubah suai salinan pembolehubah, mengapa pembolehubah asal turut berubah ?
J: Dalam Python, pembolehubah ialah rujukan kepada objek, bukan objek itu sendiri. Menetapkan satu pembolehubah kepada yang lain mencipta rujukan baharu yang menunjuk kepada objek yang sama. Oleh itu, apabila anda mengubah suai salinan, anda sebenarnya mengubah objek asal.
Sebagai contoh, pertimbangkan kod:
org_list = ['y', 'c', 'gdp', 'cap'] copy_list = org_list copy_list.append('hum')
Ini menambahkan 'hum' pada copy_list, dan kerana ia merujuk senarai yang sama seperti org_list, org_list juga berubah.
Untuk membuat salinan bebas, gunakan penghirisan:
copy_list = org_list[:]
Di sini, operator slice ([:]) mencipta salinan baharu senarai itu. Kini, anda boleh mengubah suai copy_list tanpa menjejaskan org_list. Kaedah ini boleh digunakan pada jenis pembolehubah lain, seperti bingkai data panda.
Atas ialah kandungan terperinci Mengapa Mengubah Suai Salinan Pembolehubah Python Mengubah Yang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!