Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengendalikan Ralat \'Terlalu Banyak Nilai untuk Dibongkar\' Semasa Mengulangi Kamus?

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

Linda Hamilton
Linda Hamiltonasal
2024-10-20 19:25:02712semak imbas

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>

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>

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>

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!

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