ユーニックス総合研究所

  • home
  • archives
  • python-renso-hairetsu

Pythonの連想配列(dict)の使い方

  • 作成日: 2023-07-11
  • 更新日: 2023-12-24
  • カテゴリ: Python

Pythonの連想配列の使い方

PHPなどではハッシュマップは連想配列と言ったりします。
この連想配列は文字列のキーに対して任意の値を格納できるというものです。

Pythonでは連想配列は何に当たるかと言うと、これは辞書(dict)がそうです。
Pythonでは他言語で言う連想配列は辞書と呼ばれています。

今回はこの辞書の使い方を解説していきます。

関連記事
Djangoでオブジェクトを一括作成・更新【bulk_create, bulk_update】
DjangoのModel.objects.filter()の使い方【QuerySet】
Djangoのmodelのcreate()の使い方【Python】
Django入門: ルートの設定 ~ 簡単な一行掲示板アプリを作る その4【Windows10】
NumPyのappend()の使い方: 配列の末尾に要素を追加
Numpyのarangeの使い方: 指定範囲の数列を生成する
Python3でYoutube Data APIを使ってキーワード検索する
PythonからC言語(my.puts)を呼び出して実行する

空の辞書の定義

空の辞書を定義するには以下のようにします。

d = {}  

print(type(d))  
# <class 'dict'>  

print(d)  
# {}  

またdictクラスを使うことでも可能です。

d = dict()  

print(type(d))  
# <class 'dict'>  

print(d)  
# {}  

辞書にキーと値を入れる

辞書に値を入れるには以下のようにします。

d = {'a': 1, 'b': 2}  

print(d['a'])  # 1  
print(d['b'])  # 2  

上記の場合は変数dの定義と当時に辞書の値を設定しています。
'a': 1というのが左側のaがキーで右側の1が値です。
これは'a'というキーに値1が紐づけられているということになります。

辞書の値はd['a']'a'に紐づけられた1が参照できます。

ちなみにPythonでキーと値のペアを「アイテム」と表現します。

辞書の定義後にキーと値を新たに入れたい場合は以下のようにします。

d = {'a': 1, 'b': 2}  

d['c'] = 'cat'  
d['d'] = 1.23  

print(d['c'])  # 'cat'  
print(d['d'])  # 1.23  

辞書の値は整数だけでなく文字列や実数、あらゆるオブジェクトを格納できます。
また値は上書きも可能です。

辞書からキーと値を削除する

辞書からキーを削除したい場合はdelを使います。

d = {'a': 1, 'b': 2}  

del d['a']  

print(d)  # {'b': 2}  

上記では'a'のキーと値をdelで削除しています。
結果的にdには'b'のアイテムしか残りません。

辞書のキーを全て取得する

辞書のキーをすべて取得したい場合は辞書のメソッドkeys()を使います。

d = {'a': 1, 'b': 2}  

print(d.keys())  
# dict_keys(['a', 'b'])  

print(list(d.keys()))  
# ['a', 'b']  

keys()の返すオブジェクトはdict_keysです。
これはlisttupleに変換可能なオブジェクトです。
上記のようにlistに変換したい場合はlist()dict_keysを渡します。

辞書の値をすべて取得する

辞書の値をすべて取得したい場合は辞書のメソッドvalues()を使います。

d = {'a': 1, 'b': 2}  

print(d.values())  
# dict_values([1, 2])  

print(list(d.values()))  
# [1, 2]  

values()dict_valuesというオブジェクトを返してきます。
これもlisttupleに変換可能です。

辞書をfor文で回す

辞書をfor文で回す場合はキーと値を両方取得したい場合は辞書のメソッドであるitems()を使います。

d = {'a': 1, 'b': 2}  

for key, value in d.items():  
    print(key, value)  
    # a 1  
    # b 2  

キーだけ取り出したい場合はkeys()を使います。

d = {'a': 1, 'b': 2}  

for key in d.keys():  
    print(key)  
    # a  
    # b  

値だけ取り出したい場合はvalues()を使います。

d = {'a': 1, 'b': 2}  

for value in d.values():  
    print(value)  
    # 1  
    # 2  

おわりに

今回はPythonの連想配列について解説しました。
なにか参考になれば幸いです。

🦝 < 連想していこう

🦝 < 連想天国