Memahami Pengubahsuaian Senarai dalam Gelung Python
Apabila cuba mengubah suai elemen dalam senarai semasa mengulanginya menggunakan gelung, anda mungkin menghadapi isu di mana perubahan nampaknya tidak berterusan. Tingkah laku ini berpunca daripada cara Python mengendalikan pembolehubah yang ditetapkan dalam gelung.
Isu Teras
Dalam Python, apabila anda menetapkan pembolehubah dalam gelung yang merujuk elemen dalam list (cth., untuk i in li :), anda tidak mengubah suai senarai itu sendiri tetapi mencipta rujukan baharu kepada elemen itu. Jadi, apabila anda cuba mengubah suai i, anda sebenarnya tidak menukar nilai dalam senarai.
Contoh
Pertimbangkan kod berikut:
li = ["spam", "eggs"] for i in li: i = "foo" print(li) # Output: ["spam", "eggs"]
Walaupun anda telah menetapkan "foo" kepada i dalam gelung, nilai li kekal tidak berubah kerana saya tidak merujuk secara langsung elemen dalam li melainkan salinannya.
Penyelesaian
Untuk mengubah suai elemen senarai semasa gelung, anda mempunyai beberapa pilihan:
Atas ialah kandungan terperinci Mengapa Tidak Mengubah Suai `i` dalam Gelung Python Mengubah Elemen Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!