Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' dalam Lelaran Dict Python?

Bagaimana untuk Menyelesaikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' dalam Lelaran Dict Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-20 19:28:30260semak imbas

How to Resolve

Python: "Terlalu Banyak Nilai untuk Dibongkar" untuk Lelaran Dict: Pemahaman dan Penyelesaian

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:

Python 3

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>

Python 2

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!

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