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

Patricia Arquette
Lepaskan: 2024-10-20 19:28:30
asal
171 orang telah melayarinya

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
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php
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!