LoginSignup
84
91

More than 5 years have passed since last update.

とっても便利なPythonの辞書型について覚え書き

Last updated at Posted at 2018-09-27

はじめに

Pythonの辞書型はとっても便利なのですが、時折使い方をど忘れするので自分の備忘録のための書き残します。

辞書型?

keyとvalueが組み合わせになったデータの型です。
keyを使ってvalueを呼び出せるので、情報のヒモ付けと言う点でとっても便利。

辞書型の基本的な形
dic = {key1 : value1, key2 : value2}

使い方

新規の辞書作成

そのまま書き込む場合
dic = {"A" : 1, "B" : 2}
print(dic)
# 出力
# {"A" : 1, "B" : 2}
空の辞書に書き込んでいく場合
dic = {}
dic["key"] = "value"
print(dic)
# 出力
# {"key" : "value"}
valueにはリストも取れます
dic = {}
dic["key"] = ["value1", "value2"]
print(dic)
# 出力
# {"key" : ["value1", "value2"]}

要素を取り出す

既存の辞書のkeyに対応するvalueを取り出す
dic = {"A": "cat", "B": "dog"}
print(dic["B"])
# 出力
# "dog"
既存の辞書のkeyのリストを取り出す
dic = {"A": "cat", "B": "dog"}
print(dic.keys())
# 出力
# ["A", "B"]
既存の辞書のvalueのリストを取り出す
dic = {"A": "cat", "B": "dog"}
print(dic.values())
# 出力
# ["cat", "dog"]

要素を変更する

既存の辞書のvalueを変更
dic = {"A" : "cat"}
dic["A"] = "dog"
print(dic)
# 出力
# {"A": "dog"}
# keyに対してvalueの書き換えはできますが、その逆はできないので注意
既存の辞書の要素を削除する
dic = {"A": "cat", "B": "dog"}
dic.pop("A")
print(dic)
# 出力
# {"B": "dog"}

辞書に存在しないkeyを入れる

存在しないkeyを参照しようとすると
dic = {"A": "cat", "B": "dog"}
print(dic["C"])
# エラーが出る
# KeyError: 'C'
setdefault()を使うと
dic = {"A": "cat", "B": "dog"}
print(dic.setdefault("C", "hoge"))
# 出力
# "hoge"
# 第一引数に参照したいkeyを入れる
# keyがなかった場合、第二引数の値を返す

# setdefault()で追加された要素は、元の辞書に反映される
print(dic)
# 出力
# {'A': 'cat', 'C': 'hoge', 'B': 'dog'}
リストと組み合わせたりもできる
lst = ["A", "B", "C", "D", "E"]
dic = {}
n = 1
for i in lst:
    # nが奇数が偶数かでkeyを振り分ける
    # setdefault()の第二引数は空リスト=[]にしておく
    if n % 2 == 1:
        dic.setdefault(1, []).append(i)
    else:
        dic.setdefault(2, []).append(i)
    n = n + 1
print(dic)
# 出力
# {1: ['A', 'C', 'E'], 2: ['B', 'D']}
84
91
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
84
91