Pythonには変数として「数値」「文字列」「配列」「辞書」など複数のタイプがあります。 こちらの記事では「辞書」についてまとめてみました。
目次
辞書型(dict型)について
波括弧 {} の中にキーと要素をセットで保存する仕組みになります。
リスト、タプル型はインデックス(数字)だったのに対してキー(文字列)にて要素を保管します。PHPの連想配列と同じ仕組みになります。
辞書型を作成
dict1 = {'l': 10, 'm': 20, 'n': 30}
# or
dict1 = dict(l=10, m=20, n=30)
print(dict1)
print(type(dict1))
# 結果
{'l': 10, 'm': 20, 'n': 30}
<class 'dict'>
指定キーの要素取得
dict2 = {'l': 10, 'm': 20, 'n': 30}
print(dict2['m']) # mキーの値取得
# 結果 20
指定キーの要素変更
dict3 = {'l': 10, 'm': 20, 'n': 30}
dict3['m'] = 99 # mキーの値変更
print(dict3)
# 結果 {'l': 10, 'm': 99, 'n': 30}
指定キーの要素削除
dict4 = {'l': 10, 'm': 20, 'n': 30}
del dict4['m'] # mキーの値削除
print(dict4)
# 結果 {'l': 10, 'n': 30}
辞書型のよく使う処理
指定キーの要素取得(例外対応)
通常、存在しないキーの要素を取得すると例外エラーが発生します。
getメソッドを使用することで存在しない場合の例外エラーとデフォルト値を設定する事ができます。
dict5 = {'l': 10, 'm': 20, 'n': 30}
print(dict5['z']) # 存在しないzキーの値取得
# 結果
# Traceback (most recent call last):
# File "/opt/project/dict.py", line 25, in <module>
# print(dict2['z']) # 存在しないzキーの値取得
# KeyError: 'z'
dict6 = {'l': 10, 'm': 20, 'n': 30}
print(dict6.get('z')) # 存在しないzキーの値取得
print(dict6.get('z', 0)) # 存在しないzキーの値取得(デフォルト:0)
# 結果
None
0
繰り返し処理(for)を使ったキー:要素の取得
dict7 = {'l': '10', 'm': '20', 'n': '30'}
for key, num in dict7.items():
print(key + ':' + num)
# 結果
l:10
m:20
n:30
繰り返し処理(for)を使ったキーの取得
dict8 = {'l': '10', 'm': '20', 'n': '30'}
for key in dict8.keys():
print(key)
# 結果
l
m
n
繰り返し処理(for)を使った要素の取得
dict9 = {'l': '10', 'm': '20', 'n': '30'}
for num in dict9.values():
print(num)
# 結果
10
20
30
まとめ
辞書型について基本的な部分を再確認いたしました。
辞書型は任意のキーで格納・取得する事ができますので社内で決まったコードと内容を変数に格納して使うなど用途があります。
次回は集合型について確認していきます。
サンプルプログラム
こちらの記事で作成したプログラムはGitHub環境にアップしております。
下記からダウンロードいただけます。