Python dict型:辞書型
dict型の定義、アクセス
dict型は、pythonのkeyとvalueの組み合わせで扱うデータ型である。
list型はindexを使ってデータにアクセスするが、
dict型はindexの代わりにkey文字列を使ってvalueデータにアクセスする。
keyは文字列型で、valueは任意の型でよい。
# 辞書型の定義 aaa = {"東":"卯", "南":"午", "西":"酉", "北":"子"} print(aaa) # {'東': '卯', '南': '午', '西': '酉', '北': '子'} print(aaa["北"]) # 子 print(aaa["南"]) # 牛 # 存在しないkeyで参照アクセスするとエラーになる print(aaa["南東"]) # KeyError: '南東'
辞書サイズの取得、辞書データの追加と削除
len()関数で、辞書サイズを取得できる。
存在するkeyでアクセスして代入すると、辞書データを書き換えできる。
存在しないkeyでアクセスして代入すると、辞書データを追加できる。
.setdefault()メソッドを使うと、上書き禁止で辞書データを追加できる。
del文を使うと、辞書データを削除できる。
# 辞書型の定義 aaa = {"東":"卯", "南":"午", "西":"酉", "北":"子"} # 辞書データの書き換え aaa["南"] = "south" # 存在するkey="南"で、データ書き換え print(aaa) # {'東': '卯', '南': 'south', '西': '酉', '北': '子'} print(aaa["南"]) # south print(len(aaa)) # 4 # 辞書データの追加 aaa["南東"] = "巽" # 存在しないkey="南東"で、データ追加 print(aaa) # {'東': '卯', '南': 'south', '西': '酉', '北': '子', '南東': '巽'} print(len(aaa)) # 5 # 辞書データの追加 ※上書き禁止 aaa.setdefault("南西", "坤") # 存在しないkey="南西"で、データ追加 print(aaa) # {'東': '卯', '南': 'south', '西': '酉', '北': '子', '南東': '巽', '南西': '坤'} print(len(aaa)) # 6 aaa.setdefault("西", "west") # 存在するkey="西"では、データの上書きをしない print(aaa) # {'東': '卯', '南': 'south', '西': '酉', '北': '子', '南東': '巽', '南西': '坤'} print(len(aaa)) # 6 # 辞書データの削除 del aaa["西"] print(aaa) # {'東': '卯', '南': 'south', '北': '子', '南東': '巽', '南西': '坤'} print(len(aaa)) # 5
辞書と辞書の結合
.update()メソッドで、2つの辞書を結合できる。
このkeyが重複する場合、上書きされる。
# 辞書型の定義 aaa = {"東":"卯", "西":"酉"} bbb = {"南":"south", "北":"north", "東":"east"} # 辞書と辞書の結合 ※重複データは上書き aaa.update(bbb) print(aaa) # {'東': 'east', '西': '酉', '南': 'south', '北': 'north'} print(len(aaa)) # 4