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=ダガー
コメントを残す