Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengelakkan \"RuntimeError: kamus berubah saiz semasa lelaran\"?

Bagaimana untuk Mengelakkan \"RuntimeError: kamus berubah saiz semasa lelaran\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 10:01:30274semak imbas

How to Avoid

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn