Terlalu Banyak Nilai untuk Dibongkar: Menyelesaikan Lelaran Melalui Kamus
Apabila mengulang kamus dengan pasangan nilai kunci, di mana nilainya berada senarai, anda mungkin menghadapi ralat "terlalu banyak nilai untuk dibongkar" jika kod anda cuba membongkar kedua-dua kunci dan nilai secara serentak.
Pertimbangkan contoh berikut:
<code class="python">first_names = ['foo', 'bar'] last_names = ['gravy', 'snowman'] fields = { 'first_names': first_names, 'last_name': last_names, } </code>
Apabila mencuba untuk lelaran ke atas kamus ini menggunakan kod berikut:
<code class="python">for field, possible_values in fields: # error happens on this line</code>
Anda akan menghadapi ralat "terlalu banyak nilai untuk dibongkar" kerana lelaran cuba membongkar kedua-dua kunci (medan) dan nilai (nilai_mungkin) bagi kamus secara serentak. Untuk menyelesaikan masalah ini, anda perlu menggunakan kaedah yang sesuai untuk lelaran ke atas kamus.
Python 3
Dalam Python 3, anda boleh menggunakan kaedah item() untuk mengulang atas pasangan nilai kunci kamus. Kaedah ini mengembalikan senarai tupel, di mana setiap tupel mengandungi kunci dan nilai kamus:
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Python 2
Dalam Python 2, anda boleh gunakan kaedah iteritems() untuk mengulangi pasangan nilai kunci kamus. Kaedah ini mengembalikan lelaran tupel, di mana setiap tupel mengandungi kunci dan nilai kamus:
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
Maklumat Tambahan
Untuk maklumat yang lebih komprehensif tentang lelaran melalui kamus, termasuk perbezaan antara iteritems() dan item() merentas versi Python, rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'Terlalu Banyak Nilai untuk Dibongkar\' Apabila Mengulangi Kamus dengan Senarai Nilai Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!