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()、del、clear()を使った要素の削除
辞書はPythonプログラミングにおいて非常に重要なデータ構造なので、これらの基本操作をしっかりマスターしておきましょう。
-
Pythonで複数の辞書(dict)をマージする方法【update()・アンパッキング・|演算子】
Pythonでは、複数の辞書(dict)オブジェクトを1つにまとめたい場面がよくあります。この記事では、代表的なマージ方法である update() メソッドの使い方を中心に、より簡潔に記述できるモダンな手法もあわせて解説します。 update()メソッドを使った基本的なマージ方法 まず、マージしたいすべての辞書オブジェクトをリストに格納します。次に、結果を格納するための空の辞書を用意し、リスト内の各辞書に対して update() メソッドを順番に呼び出していきます。 手順 すべての辞書オブジェクトをリストに入れる 空の辞書を初期化する(これがマージ結果の入れ物になる) リストから各辞書を
-
Pythonで2つの辞書リストを比較する方法|差分の出力とPandas活用術
この記事では、Pythonで2つの「辞書のリスト」を比較し、両者の差分を出力する方法を解説します。 ここで紹介する比較方法では、辞書内のキーと値の両方が比較対象になります。 また、Pythonで辞書のリスト同士を比較する場合、要素の並び順は結果に影響しません。キーと値の組み合わせが同じであれば、順序が異なっていても等しいものとして扱われます。 Pythonで辞書のリストを比較する基本方法 if __name__ == __main__: list_1 = [ {id: 123-abc, name: Mike, age: 40}, {name: John