Penyelesaian Ralat Membongkar: Mengulangi Pasangan Nilai-Kunci Kamus
Apabila mengulangi kamus menggunakan berbilang nilai yang dibongkar, nilai "terlalu banyak to unpack" ralat boleh timbul jika corak pembongkaran tidak sepadan dengan bilangan nilai dalam lelaran. Pertimbangkan kod berikut:
<code class="python">first_names = ['foo', 'bar'] last_names = ['gravy', 'snowman'] fields = { 'first_names': first_names, 'last_name': last_names, } for field, possible_values in fields: # error occurs here</code>
Ralat berlaku kerana medan ialah kamus dengan pasangan kunci dan nilai. Gelung for cuba membongkar pasangan kunci dan nilai ke dalam pembolehubah yang berasingan, tetapi ia menjangkakan dua pembolehubah di sebelah kiri tugasan (medan dan nilai_mungkin). Untuk menyelesaikan ralat ini, kami boleh menggunakan kaedah yang direka khusus untuk mengulangi item kamus.
Python 3:
Dalam Python 3, kita boleh menggunakan kaedah item() untuk membuat lelaran ke atas pasangan nilai kunci dalam kamus. Setiap pasangan ialah tuple yang mengandungi kunci dan nilai.
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Python 2:
Dalam Python 2, kaedah iteritems() mempunyai tujuan yang sama seperti item (), mengembalikan lelaran ke atas pasangan nilai kunci kamus.
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
Dengan menggunakan kaedah ini, kami boleh mengulang secara berkesan pasangan nilai kunci dalam kamus dan mengelakkan "nilai terlalu banyak untuk dibongkar " ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' Semasa Mengulangi Pasangan Nilai Kunci Kamus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!