辞書

辞書ユニークキー(重複なし)と(重複してもいい)のペアを要素として格納するコンテナで、要素に順序はない。


    辞書の作成

    辞書はキー: 値のペアを{}で囲んで作る。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}

    辞書のサイズ

    辞書の大きさ(要素の数)はlen関数で調べる。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    print(len(辞書)) # 3

    辞書のメソッド

    生成した辞書はオブジェクトの一種。辞書を操作するメソッド(オブジェクトが使える関数)は次のように使う。

    辞書.メソッド()

    辞書のキーで値を参照

    キーで値を参照するには、getメソッド。存在しないキーだとNoneが戻る。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ'}
    print(辞書.get('Python')) # パイソン
    print(辞書.get('Ruby')) # None

    値の参照を辞書[キー]というやり方ですると、キーが存在しない場合はエラーになってしまう。


    辞書を更新

    辞書を更新するには、updateメソッド。

    辞書1 = {'Python': 'ぱぱぱパイソン', 'Java': 'ジャバ'}
    辞書2 = {'Python': 'パイソン', 'Ruby': 'ルビー'}
    辞書1.update(辞書2)
    print(辞書1) # {'Java': 'ジャバ', 'Python': 'パイソン', 'Ruby': 'ルビー'}

    辞書から要素を削除

    辞書から要素を削除するには、del文を使う。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    del 辞書['Java']
    print(辞書) # {'Python': 'パイソン', 'Ruby': 'ルビー'}

    キーが辞書に含まれているか確認

    キーが辞書に含まれているか確認するには、キー in 辞書キー not in 辞書を使う。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    print('Python' in 辞書) # True
    print('Python' not in 辞書) # False

    辞書のキーリスト

    辞書のキーだけのリストを得るには、keysメソッドをlist関数に渡す。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    print(list(辞書.keys())) # ['Java', 'Python', 'Ruby']

    辞書の値リスト

    辞書の値だけのリストを得るには、valuesメソッドをlist関数に渡す。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    print(list(辞書.values())) # ['ルビー', 'パイソン', 'ジャバ']

    辞書の繰り返し処理

    辞書の要素を順次処理していくには、for文とitemsメソッドを使う。

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ', 'Ruby': 'ルビー'}
    for キー, 値 in 辞書.items():
      print(キー, 値)

    出力はこうなる。(要素に順序はない)

    Python パイソン
    Java ジャバ
    Ruby ルビー