Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengelakkan \"RuntimeError: kamus berubah saiz semasa lelaran\"?
Mengelakkan "RuntimeError: kamus berubah saiz semasa lelaran"
Apabila cuba mengubah suai kamus semasa mengulanginya, anda mungkin menghadapi " RuntimeError: kamus menukar saiz semasa ralat lelaran. Ini timbul kerana mengubah suai saiz kamus (menambah atau mengalih keluar entri) sambil menggelungkannya akan membatalkan lelaran.
Untuk menangani isu ini, pendekatan yang disyorkan ialah membuat salinan kekunci kamus menggunakan list() atau lelaran atas kekunci melalui d.keys(). Untuk Python 3.x, d.keys() mengembalikan objek paparan, memerlukan anda membuat salinan eksplisit menggunakan list().
Sebagai contoh, pertimbangkan kamus berikut:
<code class="python">d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]}</code>
Untuk mengalih keluar pasangan nilai kunci dengan senarai kosong, anda boleh menggunakan kod berikut:
<code class="python">for i in list(d): # Python 3.x # or for i in d.keys(): # Python 2.x if not d[i]: d.pop(i)</code>
Dengan mencipta salinan kekunci menggunakan list(), kami mengelakkan isu mengubah suai saiz kamus semasa lelaran dan pastikan gelung berjaya diselesaikan.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan \"RuntimeError: kamus berubah saiz semasa lelaran\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!