ホームページ > バックエンド開発 > Python チュートリアル > Python の辞書反復での「解凍するには値が多すぎます」エラーを解決するにはどうすればよいですか?

Python の辞書反復での「解凍するには値が多すぎます」エラーを解決するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-20 19:28:30
オリジナル
257 人が閲覧しました

How to Resolve

Python: 辞書反復の「展開する値が多すぎます」: 理解と解決策

辞書を反復処理するときは、正しい構文と正しい構文を認識することが重要です。方法。 「展開するには値が多すぎます」というエラーは、反復可能で使用可能な値を超える値を展開しようとすると発生します。

指定されたコード スニペット内:

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
ログイン後にコピー

エラーが発生するのは、ディクショナリのキーを反復処理することによって返された 1 つのタプルから 2 つの値 (field と possible_values) を解凍しようとしています。これを修正するには、Python のバージョンに応じて 2 つのオプションがあります:

Python 3

Python 3 では、 items() メソッドを使用して、辞書のキーと値の両方を反復処理します。

<code class="python">for field, possible_values in fields.items():
    print(field, possible_values)</code>
ログイン後にコピー

Python 2

Python 2 では、items() の代わりに iteritems() メソッドを使用します。

<code class="python">for field, possible_values in fields.iteritems():
    print field, possible_values</code>
ログイン後にコピー

items() と iteritems() の両方キーと値のペアのシーケンスを返し、ループ内で適切に解凍できるようにします。

あるいは、辞書のキーまたは値のみが必要な場合は、それらを直接反復処理できます。

# Iterate over keys
for field in fields.keys():
    print(field)

# Iterate over values
for possible_values in fields.values():
    print(possible_values)
ログイン後にコピー

以上がPython の辞書反復での「解凍するには値が多すぎます」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート