Bagaimana untuk Menyelesaikan \'Terlalu Banyak Nilai untuk Dibongkar\' Apabila Mengulangi Kamus dengan Senarai Nilai Utama?

Barbara Streisand
Lepaskan: 2024-10-20 19:23:30
asal
723 orang telah melayarinya

How to Resolve

Terlalu Banyak Nilai untuk Dibongkar: Menyelesaikan Lelaran Melalui Kamus

Apabila mengulang kamus dengan pasangan nilai kunci, di mana nilainya berada senarai, anda mungkin menghadapi ralat "terlalu banyak nilai untuk dibongkar" jika kod anda cuba membongkar kedua-dua kunci dan nilai secara serentak.

Pertimbangkan contoh berikut:

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

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        </code>
Salin selepas log masuk

Apabila mencuba untuk lelaran ke atas kamus ini menggunakan kod berikut:

<code class="python">for field, possible_values in fields:  # error happens on this line</code>
Salin selepas log masuk

Anda akan menghadapi ralat "terlalu banyak nilai untuk dibongkar" kerana lelaran cuba membongkar kedua-dua kunci (medan) dan nilai (nilai_mungkin) bagi kamus secara serentak. Untuk menyelesaikan masalah ini, anda perlu menggunakan kaedah yang sesuai untuk lelaran ke atas kamus.

Python 3

Dalam Python 3, anda boleh menggunakan kaedah item() untuk mengulang atas pasangan nilai kunci kamus. Kaedah ini mengembalikan senarai tupel, di mana setiap tupel mengandungi 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, anda boleh gunakan kaedah iteritems() untuk mengulangi pasangan nilai kunci kamus. Kaedah ini mengembalikan lelaran tupel, di mana setiap tupel mengandungi kunci dan nilai kamus:

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

Maklumat Tambahan

Untuk maklumat yang lebih komprehensif tentang lelaran melalui kamus, termasuk perbezaan antara iteritems() dan item() merentas versi Python, rujuk sumber berikut:

  • [Teknik Gelung dalam Python](https://www.digitalocean.com/ community/tutorials/how-to-loop-through-dictionaries-in-python)
  • [Lelaran Kamus dalam Python](https://www.pythonforbeginners.com/basics/python-dictionary-iteration)
  • [Python 3 Dict iteritems() - lelaran pada kamus](https://www.tutorialspoint.com/python/python_dictionary_iteritems.htm)

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'Terlalu Banyak Nilai untuk Dibongkar\' Apabila Mengulangi Kamus dengan Senarai Nilai Utama?. 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!