2025.08.09(更新日: 2025.08.09)
データ構造 – リストと辞書 -(実践編)
はじめに
前回のソースコード版をやっていこう。
リストの場合
# === Before ===
id_list = [1, 2]
name_list = ["a", "b"]
# idだけ処理
for id_val in id_list:
print(f"id: {id_val}")
# nameだけ処理
for name_val in name_list:
print(f"name: {name_val}")
# idとnameを一緒に使いたいとき(zipで頑張る必要あり)
for id_val, name_val in zip(id_list, name_list):
print(f"id: {id_val}, name: {name_val}")
出力結果
id: 1
id: 2
name: a
name: b
id: 1, name: a
id: 2, name: b
idとnameを一緒に使いたい時は、zipで頑張る必要あり。
実際に昨日の自分も頑張っていた。
いや、zipを使いこなせていなかった。
zipを使えば、やりたいことができたかもしれない。
総ての過去を未来に繋げていこう。

スキル不足を認識できてよかった。
無意識的無能から意識的無能へのジャンプに成功した。
辞書の場合
# === After ===
data_list = [
{"id": 1, "name": "a"},
{"id": 2, "name": "b"}
]
# idとnameをまとめて処理
for item in data_list:
print(f"id: {item['id']}, name: {item['name']}")
# nameだけ取り出す
for item in data_list:
print(item["name"])
# idをキーに高速アクセスしたい場合は辞書の辞書も可
data_dict = {item["id"]: {"name": item["name"]} for item in data_list}
print(data_dict[1]["name"]) # → "a"
出力結果
id: 1, name: a
id: 2, name: b
a
b
a
data_dictがどうなっているか?
こうなっていた。
data_dict
{1: {'name': 'a'}, 2: {'name': 'b'}}
これはありがたい。
これできるんだ!
リスト→辞書の変換
id_list = [1, 2]
name_list = ["a", "b"]
data_list = [{"id": id_val, "name": name_val} for id_val, name_val in zip(id_list, name_list)]
print(data_list)
# → [{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}]
出力結果
[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}]
この変換は、必要があれば行おう。
現状は、リストに直さずに、API送信されたデータをそのまま辞書に変換すればいいはず。
ベースモデルを介した後のデータ型が辞書かもしれない。
いや、それは、ベースモデルを継承したクラスのデータ型になっている。
そのデータ構造をそのまま利用すればよかったかもしれない。
余計なことをしてしまった。
シンプルに考えよう。
シンプルに考えるのが一番難しい。
突き詰めて考えるとシンプルになるというパラドックスがある。
コメントを残す