Bolehkah Anda Mengubah Suai Kamus Dengan Selamat Semasa Mengulang dengan `iteritems()` dalam Python?

Patricia Arquette
Lepaskan: 2024-10-30 05:47:28
asal
618 orang telah melayarinya

 Can You Safely Modify a Dictionary While Iterating with `iteritems()` in Python?

Bolehkah Kamus Berulang Mengubah Suai Item Pendasar dengan Selamat?

Apabila melintasi kamus Python menggunakan iteritems(), pengubahsuaian pada kamus mungkin membawa kepada perkara yang tidak dijangka keputusan. Mengalih keluar item (cth., del d[f(k)]) boleh mencetuskan "RuntimeError: kamus berubah saiz semasa lelaran."

Dokumentasi Rasmi:

Menurut dokumentasi Python, seseorang tidak seharusnya mengubah suai kamus semasa lelaran. Kaedah iteritems() berulang melalui salinan kunci dan nilai kamus, tetapi bukan kamus asas itu sendiri. Oleh itu, pengubahsuaian terus pada kamus (seperti pemadaman atau penambahan item) tidak akan ditunjukkan dalam lelaran.

Amalan Selamat:

Untuk mengelakkan isu ini, dokumentasi mencadangkan penggunaan d.copy().items() untuk mencipta salinan bebas kamus sebelum lelaran. Sebagai alternatif, seseorang boleh melelar melalui senarai kunci dan menggunakan del d[key] atau d[key] = newValue dalam gelung.

Pengubahsuaian Separa:

Sementara menambahkan item pada kunci baharu boleh menyebabkan isu, mengubah suai nilai sedia ada secara amnya selamat. Walau bagaimanapun, ambil perhatian bahawa mengubah suai nilai pada kunci sedia ada boleh mengubah nilai cincangnya, yang berpotensi menjejaskan kedudukannya dalam kamus.

Atas ialah kandungan terperinci Bolehkah Anda Mengubah Suai Kamus Dengan Selamat Semasa Mengulang dengan `iteritems()` dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!