Python 辞書型(Dictionary)の使い方

Dictionary 辞書型

リストの要素が数字でインデクス化されているのと異なり、辞書型はキー(key)でインデクス化されます。キー(key):値(value)のペアの集合です。

ディクショナリ 定義方法

{キー1:値1, キー2:値2, キー3:値3…}

空の場合

{}

キーは変更不可能な型です。キーには文字列、数値が使えます。タプルは要素が数値、文字列、タプルであるものがキーとして使えます。対してリストはキーとして使えません。

辞書は順序づけされません。

値を取り出す

dict[key]のように書くと値を取り出せます。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
name = soldier['名前']

print(name)

【結果】

ジョン

値を入れ替える

値を取り出す方法と逆です。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
soldier['ニックネーム'] = 'スシ'

print(soldier)

【結果】

{'名前': 'ジョン', 'ニックネーム': 'スシ', '武器': 'ダガー'}

キーを追加する

値を入れ替える記法と同じです。存在しないキーを指定すると、追加されます。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
soldier['アイテム'] = '薬草'

print(soldier)

【結果】

{'名前': 'ジョン', 'ニックネーム': 'J', '武器': 'ダガー', 'アイテム': '薬草'}

キーが辞書にあるか調べたい時

inを使って辞書に指定したキーがあるか調べられます。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
if 'ニックネーム' in soldier:
    print('有り')
else:
    print('無し')

キーを指定して要素を削除する

del文を使います。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
del soldier['ニックネーム']

print(soldier)

【結果】

{'名前': 'ジョン', '武器': 'ダガー'}

辞書型の全てのキー、または全ての値のリストを得る

全てのキーのリストはlist(dict.keys())、全ての値のリストは list(dict.values())で得られます。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
keys = list(soldier.keys())
values = list(soldier.values())

print(keys)
print(values)

【結果】

['名前', 'ニックネーム', '武器']
['ジョン', 'J', 'ダガー']

ループで、キーと値を同時に取り出す

items()関数を使うとキーと値を同時に取り出せます。

soldier = {'名前':'ジョン','ニックネーム':'J','武器':'ダガー'}
for k, v in soldier.items():
    print('key=' + k,'value=' + v)

【結果】

key=名前 value=ジョン
key=ニックネーム value=J
key=武器 value=ダガー
スポンサーリンク
スポンサーリンク