Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Tidak Boleh Mengubah Suai Senarai Python Secara Terus Dalam Gelung `untuk`?
Apabila merentasi senarai dalam Python menggunakan gelung for, pengguna mungkin menghadapi ketidakupayaan yang tidak dijangka untuk mengubah elemennya tanpa menggunakan pemahaman senarai.
Inti isu terletak pada tingkah laku binaan gelung for i in li. Secara dalaman, ia berulang seperti berikut:
for idx in range(len(li)): i = li[idx] i = 'foo'
Seperti yang dilihat, i pada mulanya diberikan rujukan kepada elemen dalam senarai. Sebarang pengubahsuaian berikutnya kepada i hanya mempengaruhi pembolehubah setempat, bukan item senarai itu sendiri.
Untuk menangani perkara ini, seseorang boleh sama ada memanfaatkan pemahaman senarai:
li = ["foo" for i in li]
Atau, rentasi indeks secara eksplisit:
for idx in range(len(li)): li[idx] = 'foo'
Sebagai alternatif, enumerate boleh digunakan untuk memudahkan proses:
for idx, item in enumerate(li): li[idx] = 'foo'
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengubah Suai Senarai Python Secara Terus Dalam Gelung `untuk`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!