【Python】辞書(dict)の使い方
前提
Python: 3.12
初期化
d = {'aaa': 1, 'bbb': 2}
キーが存在するか確認する
d = {'aaa': 1, 'bbb': 2}
if 'aaa' in d.keys():
処理
値を取得する
d = {'aaa': 1, 'bbb': 2}
print(d['aaa'])
上記の方法で値を取得する際、キーが存在しなければKeyError
となるため、キーが存在するか確認してから値を取得する必要がある。
値を取得する別の方法としてget(key[, default])
を使用する方法もある。
get(key[, default])
を使用した場合は、キーが存在しない場合のデフォルト値を指定できる。
デフォルト値を指定しなかった場合はNone
が返る。
d = {'aaa': 1, 'bbb': 2}
print(d.get('ccc')) # デフォルト値を指定しない
print(d.get('ccc', 3)) # デフォルト値として3を指定
要素数を取得する
d = {'aaa': 1, 'bbb': 2}
len(d)
for
辞書のキーに対して順番に処理を行う
d = {'aaa': 1, 'bbb': 2}
for k in d.keys():
print(k)
実行結果
aaa
bbb
辞書の値に対して順番に処理を行う
d = {'aaa': 1, 'bbb': 2}
for v in d.values():
print(v)
実行結果
1
2
辞書のキー、値に対して順番に処理を行う
d = {'aaa': 1, 'bbb': 2}
for k, v in d.items():
print(k, v)
実行結果
aaa 1
bbb 2
関連記事
-
【Python】for文の使い方前提 Python: 3.12 基本 for i in range(5): print(i) else: 処理 for i in range(-5, 2): print(i) for i in range(5): if i == 2: continue if i == 3: break print(i) 参考 8.3. for 文 — 8. 複合文 (compound statement) — Python 3.12.3 ドキュメント else else節がある場合、ルー
-
【Python】if文による条件分岐前提 Python: 3.12 基本 if 条件式: 処理 elif 条件式: 処理 else: 処理 if not 条件式: 処理 参考 8.1. if 文 — 8. 複合文 (compound statement) — Python 3.12.3 ドキュメント 変数がNoneか判定する Noneかど
-
【Jinja2】PythonのテンプレートエンジンJinja2で継承を使う前提 Python: 3.12 Jinja2: 3.1.3 継承 継承するとベースとなるテンプレート(base.html)の{% block %} {% endblock %}タグで囲っている箇所だけ変更できる。 継承するテンプ
-
【Jinja2】テンプレートにパラメータを渡す前提 Python: 3.12 Jinja2: 3.1.3 テンプレートにパラメータを渡す tpl = env.get_template('template.tpl') params = { 'navigation': [ { 'href': 'https://example.com/', 'text': 'Home' }, { 'href': 'https://example.com/about/', 'text': 'About' } ] } tpl.render(params) 上記のようなパラメータを渡した場合、テンプレートでは
-
【Jinja2】PythonのテンプレートエンジンJinja2を使う前提 Python: 3.12 Jinja2: 3.1.3 Install pip install Jinja2 Sample from jinja2 import Environment, FileSystemLoader loader = FileSystemLoader(template_dir, encoding='utf-8') env = Environment(Loader=loader, autoescape=False) tpl = env.get_template(template_name) params = { 'title': 'Example Page Title' } with open(path, mode='w', encoding='utf-8') as f: f.write(tpl.render(params)) 変数 テンプレート内での使用 <h1>{{ title }}</h1> for文の中で使用できる