Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの辞書(dict)の使い方を徹底解説!作成・取得・追加・削除の基本

辞書(Dictionary)は、Pythonで最もよく使われるマッピング型です。キーと値のペアでデータを管理できるため、JavaのMapに似たオブジェクトだと言えます。

Pythonでは、波括弧 {} を使って辞書リテラルを作成します。キーと値はコロン : で結び、各ペアはカンマ , で区切ります。

辞書の作成方法

まずは、基本的な辞書の作成例を見てみましょう。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
print(datedict)

実行結果:

{'date': 13, 'month': 'January', 'year': 1970}

辞書の要素へのアクセス方法

辞書の要素には、角括弧 [] 内にキー名を指定するか、get() メソッドを使うことでアクセスできます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
date = datedict["date"]
year = datedict.get("year")

print(date, year)

実行結果:

13 1970

ポイント: get() メソッドは、指定したキーが存在しない場合にエラー(KeyError)を発生させず、None を返すため、安全に値を取り出せます。

要素の値を変更する方法

既存のキー名を指定して新しい値を代入することで、辞書内の値を変更できます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
datedict["date"] = 20
print(datedict)

実行結果:

{'date': 20, 'month': 'January', 'year': 1970}

辞書をループ処理する方法

for ループを使えば、辞書を反復処理できます。ループの使い方次第で、すべてのキー、すべての値、またはキーと値の両方を取り出すことが可能です。

すべてのキーを取得する

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
for d in datedict:
    print(d)

実行結果:

date
month
year

すべての値を取得する

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
for d in datedict:
    print(datedict[d])

実行結果:

13
January
1970

また、values() メソッドを使っても同じ結果が得られます。こちらの方が意図が明確で読みやすいコードになります。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
for d in datedict.values():
    print(d)

実行結果:

13
January
1970

キーと値の両方を取得する

items() メソッドを使うと、キーと値を同時に取り出せます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
for k, v in datedict.items():
    print(k, v)

実行結果:

date 13
month January
year 1970

辞書の長さ(要素数)を取得する方法

len() 関数を呼び出すことで、辞書に含まれるキーと値のペアの数を取得できます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
print(len(datedict))

実行結果:

3

辞書に要素を追加する方法

辞書に新しいキーと値のペアを追加するには、新しいキーを指定して値を代入するだけです。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970
}
datedict["season"] = "winter"
print(datedict)

実行結果:

{'date': 13, 'month': 'January', 'year': 1970, 'season': 'winter'}

辞書から要素を削除する方法

辞書から特定の要素を削除するには、pop() メソッドにキー名を渡します。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970,
  "season": "winter"
}
datedict.pop("season")
print(datedict)

実行結果:

{'date': 13, 'month': 'January', 'year': 1970}

del キーワードを使って、指定したキーの要素を削除することもできます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970,
  "season": "winter"
}
del datedict["season"]
print(datedict)

実行結果:

{'date': 13, 'month': 'January', 'year': 1970}

注意: del キーワードは、辞書そのものを完全に削除する用途にも使えます。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970,
}
del datedict

辞書を空にする方法

辞書内のすべてのキーと値のペアを消去したい場合は、clear() メソッドを使用します。

datedict = {
  "date": 13,
  "month": "January",
  "year": 1970,
  "season": "winter"
}
datedict.clear()
print(datedict)

実行結果:

{}

まとめ

この記事では、Pythonの辞書に関する以下の基本操作を解説しました。

  • 波括弧 {} を使った辞書の作成
  • 角括弧 []get() メソッドによる要素へのアクセス
  • for ループと items() / values() を使った反復処理
  • len() 関数による要素数の取得
  • 新しいキーへの代入による要素の追加
  • pop()delclear() を使った要素の削除

辞書はPythonプログラミングにおいて非常に重要なデータ構造なので、これらの基本操作をしっかりマスターしておきましょう。

  1. Pythonで複数の辞書(dict)をマージする方法【update()・アンパッキング・|演算子】

    Pythonでは、複数の辞書(dict)オブジェクトを1つにまとめたい場面がよくあります。この記事では、代表的なマージ方法である update() メソッドの使い方を中心に、より簡潔に記述できるモダンな手法もあわせて解説します。 update()メソッドを使った基本的なマージ方法 まず、マージしたいすべての辞書オブジェクトをリストに格納します。次に、結果を格納するための空の辞書を用意し、リスト内の各辞書に対して update() メソッドを順番に呼び出していきます。 手順 すべての辞書オブジェクトをリストに入れる 空の辞書を初期化する(これがマージ結果の入れ物になる) リストから各辞書を

  2. Pythonで2つの辞書リストを比較する方法|差分の出力とPandas活用術

    この記事では、Pythonで2つの「辞書のリスト」を比較し、両者の差分を出力する方法を解説します。 ここで紹介する比較方法では、辞書内のキーと値の両方が比較対象になります。 また、Pythonで辞書のリスト同士を比較する場合、要素の並び順は結果に影響しません。キーと値の組み合わせが同じであれば、順序が異なっていても等しいものとして扱われます。 Pythonで辞書のリストを比較する基本方法 if __name__ == __main__: list_1 = [ {id: 123-abc, name: Mike, age: 40}, {name: John