logo

Python で辞書を反復処理する

この記事では、 Python で辞書を反復処理する方法。 Python のディクショナリはデータ値のコレクションであり、マップのようにデータ値を保存するために使用されます。要素として 1 つの値のみを保持する他のデータ型とは異なり、ディクショナリはキーと値のペアを保持します。 パイソン

ディクショナリ内の値を反復処理するには、values()、items() などの組み込みメソッドを使用するか、ディクショナリを直接反復処理してキーを使用して値にアクセスすることもできます。



Python 辞書

Python の辞書は非常に便利なデータ構造です。ディクショナリは項目をキーと値のペアで保存します。

辞書キーはハッシュ可能なタイプであり、その値は一生変化しないことを意味します。辞書内に重複キーを含めることはできません。

に保存されている値にアクセスするには、 Python辞書 キーを使用する必要があります。



Python で辞書を反復処理する方法

辞書を反復処理するとは、各キーと値のペアを順番に参照することを意味します。これは、Python 辞書にアクセスし、辞書内に存在する各キーと値を走査することを意味します。辞書を適切に使用したい場合、辞書を反復処理することは非常に重要な作業です。

辞書を反復処理するには複数の方法があります。ここでは、Python での辞書反復に一般的に使用されるいくつかの方法について説明します。

  • build.keys() を使用して Python 辞書を反復処理する
  • .values() を使用してすべての値を反復処理します。
  • for ループを使用して Python 辞書をループする
  • items() を使用してキーと値のペアを反復する
  • アクセスキー map() と dict.get の使用
  • zip()を使用したPythonでのアクセスキー
  • アクセスキー 辞書の解凍を使用する

注記: Python バージョン 3.6 以前では、辞書は順序付けされていませんでした。ただし、Python バージョン 3.7 以降では、辞書は順序付けされます。



.values() メソッドを使用した Python での辞書の反復

Python で辞書のすべての値を反復処理するには、次のようにします。 .values() では、for ループを使用して、各値に順番にアクセスできます。このメソッドを使用すると、対応するキーを明示的に参照せずに、ディクショナリ内の個々の値を処理または表示できます。

例: この例では、values() メソッドを使用して、辞書に存在するすべての値を出力します。

Python3




# create a python dictionary> statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> print>(>'List Of given capitals: '>)> for> capital>in> statesAndCapitals.values():> >print>(capital)>

>

>

出力:

List Of given capitals: Gandhinagar Mumbai Jaipur Patna>

ビルド .keys() を使用して Python で辞書キーにアクセスする

Python では、辞書のキーにアクセスするには、組み込みの ` .keys() `メソッド。ディクショナリ内のすべてのキーのリストを表示するビュー オブジェクトを返します。このビューは直接使用することも、さらに操作するためにリストに変換することもできます。

: この例では、以下のコードは `.keys()` を使用して `statesAndCapitals` 辞書からすべてのキーを取得し、結果のビュー オブジェクトを出力します。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> keys>=> statesAndCapitals.keys()> print>(keys)>

>

>

出力:

dict_keys(['Gujarat', 'Maharashtra', 'Rajasthan', 'Bihar'])>

for ループを使用した Python 辞書のループ

`keys()` メソッドを使用せずに辞書内のキーにアクセスするには、次のメソッドを使用して辞書を直接反復できます。 for ループ 、「for key in my_dict:」のように。このループはキーを自動的に反復するため、明示的なメソッド呼び出しを必要とせずに各キーに直接アクセスできます。

例: この例では、キーを反復し、辞書に存在するすべてのキーを出力するために「for」ループを使用して辞書を反復しています。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> print>(>'List Of given states: '>)> # Iterating over keys> for> state>in> statesAndCapitals:> >print>(state)>

>

>

出力:

List Of given states: Gujarat Maharashtra Rajasthan Bihar>

items() メソッドを使用して辞書を反復処理する

組み込みの items() メソッドを使用して、キーと項目の両方に同時にアクセスできます。 items() メソッドは、キーと値のペアをタプルとして含むビュー オブジェクトを返します。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> for> key, value>in> statesAndCapitals.items():> >print>(f>'{key}: {value}'>)>

>

>

出力:

Gujarat: Gandhinagar Maharashtra: Mumbai Rajasthan: Jaipur Bihar: Patna>

map() と dict.get を使用した Python 辞書の反復

このメソッドは、次を使用して辞書内のキーにアクセスします。 `マップ()` そして `dict.get() `。 `dict.get` 関数を各キーに適用し、対応する値のマップ オブジェクトを返します。これにより、辞書キーを直接反復して、簡潔な方法で効率的に値を取得できるようになります。

例: この例では、以下のコードは `map()` 関数を使用して、`statesAndCapitals` ディクショナリ内の各キーに `get` メソッドを適用することによって取得された値の反復可能オブジェクトを作成します。次に、「for」ループを使用してこの反復可能オブジェクトを反復処理し、各キーを出力します。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> map_keys>=> map>(statesAndCapitals.get, statesAndCapitals)> for> key>in> map_keys:> >print>(key)>

>

>

出力:

Gandhinagar Mumbai Jaipur Patna>

zip() 関数を使用して Python 辞書を反復する

使用する `zip()` Python では、辞書のキーと値のタプルを同時に反復処理することで、辞書のキーにアクセスできます。このメソッドはキーと値のペアを作成し、両方の要素に対する簡潔な反復を可能にします。

例: この例では、zip() 関数は各州と対応する首都をペアにし、ループはこれらのペアを反復して情報を出力します。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> for> state, capital>in> zip>(statesAndCapitals.keys(), statesAndCapitals.values()):> >print>(f>'The capital of {state} is {capital}'>)>

>

>

出力:

The capital of Gujarat is Gandhinagar The capital of Maharashtra is Mumbai The capital of Rajasthan is Jaipur The capital of Bihar is Patna>

辞書を解凍することによる Python での辞書の反復

ディクショナリのアンパックを使用してキーにアクセスするには、アスタリスク (*) 演算子を使用してキーをリストまたは別の反復可能オブジェクトにアンパックできます。

: この例では、 * を使用して辞書を解凍していることがわかります。 *dict メソッドは、辞書内のすべてのキーを解凍するのに役立ちます。

Python3




statesAndCapitals>=> {> >'Gujarat'>:>'Gandhinagar'>,> >'Maharashtra'>:>'Mumbai'>,> >'Rajasthan'>:>'Jaipur'>,> >'Bihar'>:>'Patna'> }> keys>=> [>*>statesAndCapitals]> values>=> '{Gujarat}-{Maharashtra}-{Rajasthan}-{Bihar}'>.>format>(>*>statesAndCapitals,>*>*>statesAndCapitals)> print>(keys)> print>(values)>

>

>

出力:

ピーナッツ vs 落花生
['Gujarat', 'Maharashtra', 'Rajasthan', 'Bihar'] Gandhinagar-Mumbai-Jaipur-Patna>

ディクショナリのキーと値にアクセスする場合、ディクショナリを反復処理することは重要なタスクです。このチュートリアルでは、辞書のすべての項目を反復処理するいくつかの方法について説明しました。 value()、items()、keys() などの重要なメソッドが他のテクニックとともに説明されています。