Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' dalam Lelaran Dict Python?
Apabila mengulangi kamus, adalah penting untuk mengetahui sintaks yang betul dan kaedah. Ralat "terlalu banyak nilai untuk dibongkar" berlaku apabila cuba membongkar lebih banyak nilai daripada yang tersedia dalam lelaran.
Dalam coretan kod yang diberikan:
first_names = ['foo', 'bar'] last_names = ['gravy', 'snowman'] fields = { 'first_names': first_names, 'last_name': last_names, } for field, possible_values in fields: # error happens on this line
Ralat berlaku kerana anda' cuba semula untuk membongkar dua nilai (medan dan nilai_mungkin) daripada satu tuple yang dikembalikan dengan mengulangi kekunci kamus. Untuk membetulkannya, anda mempunyai dua pilihan bergantung pada versi Python anda:
Dalam Python 3, gunakan kaedah item() untuk mengulangi kedua-dua kunci dan nilai kamus:
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Dalam Python 2, gunakan kaedah iteritems() dan bukannya item():
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
Kedua-dua item() dan iteritems() kembalikan jujukan pasangan nilai kunci, membenarkan pembongkaran yang betul dalam gelung.
Sebagai alternatif, jika anda hanya memerlukan kunci atau nilai daripada kamus, anda boleh mengulanginya terus:
# Iterate over keys for field in fields.keys(): print(field) # Iterate over values for possible_values in fields.values(): print(possible_values)
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' dalam Lelaran Dict Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!