ホームページ > バックエンド開発 > Python チュートリアル > ディクショナリのキーと値のペアを反復処理するときに発生する「展開するには値が多すぎます」エラーを解決するにはどうすればよいですか?

ディクショナリのキーと値のペアを反復処理するときに発生する「展開するには値が多すぎます」エラーを解決するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-20 19:29:02
オリジナル
304 人が閲覧しました

How to Resolve the

アンパック エラーの解決: ディクショナリのキーと値のペアを反復処理する

複数のアンパックされた値を使用してディクショナリを反復処理すると、「値が多すぎます」解凍パターンが反復内の値の数と一致しない場合、「解凍する」エラーが発生する可能性があります。次のコードを考えてみましょう:

<code class="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 occurs here</code>
ログイン後にコピー

フィールドがキーと値のペアを含む辞書であるため、エラーが発生します。 for ループは、キーと値のペアを個別の変数に解凍しようとしますが、割り当ての左側に 2 つの変数 (field と possible_values) が必要です。このエラーを解決するには、辞書項目の反復処理用に特別に設計されたメソッドを使用できます。

Python 3:

Python 3 では、 items() メソッドを使用できます。ディクショナリ内のキーと値のペアに対する反復可能オブジェクトを作成します。各ペアはキーと値を含むタプルです。

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

Python 2:

Python 2 では、 iteritems() メソッドは項目と同じ目的を果たします。 () は、辞書のキーと値のペアに対する反復子を返します。

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

これらのメソッドを利用することで、辞書内のキーと値のペアを効果的に反復し、「値が多すぎて解凍できない」という問題を回避できます。 " エラー。

以上がディクショナリのキーと値のペアを反復処理するときに発生する「展開するには値が多すぎます」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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