Bagaimana untuk Mengendalikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' Semasa Mengulangi Kamus?

Linda Hamilton
Lepaskan: 2024-10-20 19:25:02
asal
701 orang telah melayarinya

How to Handle 'Too Many Values to Unpack' Error When Iterating Over Dictionaries?

Membongkar Berbilang Nilai: Menyelesaikan 'Terlalu Banyak Nilai untuk Dibongkar' dengan Kamus

Ralat 'terlalu banyak nilai untuk dibongkar' biasanya berlaku apabila cuba untuk membongkar lebih banyak nilai daripada yang tersedia dalam urutan tertentu. Apabila melelakan kamus, khususnya dengan format pasangan nilai kunci, ralat yang serupa boleh timbul.

Pertimbangkan coretan kod berikut:

<code class="python">first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}

# error occurs on this line
for field, possible_values in fields:
    print(field, possible_values)</code>
Salin selepas log masuk

Apabila melaksanakan kod ini, Python akan menghadapi ralat, kerana ia cuba membongkar dua nilai (kunci dan nilai) daripada pasangan nilai kunci kamus. Untuk menyelesaikan isu ini, sintaks yang betul harus digunakan bergantung pada versi Python:

Python 3

Dalam Python 3, kaedah item() harus digunakan untuk ulangi item kamus, yang mengembalikan senarai tupel yang mengandungi pasangan nilai kunci.

<code class="python">for field, possible_values in fields.items():
    print(field, possible_values)</code>
Salin selepas log masuk

Python 2

Untuk Python 2, kaedah iteritems() harus digunakan sebaliknya, kerana item() tidak wujud dalam versi ini.

<code class="python">for field, possible_values in fields.iteritems():
    print(field, possible_values)</code>
Salin selepas log masuk

Dengan menggunakan kaedah yang sesuai, kod akan berulang melalui pasangan nilai kunci kamus dengan jayanya, mencetak medan dan kemungkinan yang sepadan nilai.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' Semasa Mengulangi Kamus?. 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!