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
です。
これはlist
やtuple
に変換可能なオブジェクトです。
上記のように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
というオブジェクトを返してきます。
これもlist
やtuple
に変換可能です。
辞書を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の連想配列について解説しました。
なにか参考になれば幸いです。
🦝 < 連想していこう
🦝 < 連想天国