今回やること
リストと辞書は、Pythonで特によく使うデータ構造です。
リストは順番で管理するデータ、辞書はキーと値のペアで管理するデータに向いています。
今回は、学習記録を例にリストと辞書を練習します。
リストを作る
リストは [] で作ります。
languages = ["Python", "JavaScript", "Java"]
print(languages)
print(languages[0])
Pythonの番号は0から始まります。languages[0] は最初の要素です。
リストに追加する
append() で末尾に追加できます。
languages = ["Python", "JavaScript"]
languages.append("Java")
print(languages)
繰り返し表示する場合:
for language in languages:
print(language)
辞書を作る
辞書は {} で作り、キーと値のペアを持ちます。
student = {
"name": "Ada",
"age": 16,
"language": "Python",
}
print(student["name"])
print(student["language"])
辞書は、1人の受講生情報や1件の設定情報のように、項目名で取り出したいデータに向いています。
辞書を更新する
値を変更できます。
student = {
"name": "Ada",
"age": 16,
}
student["age"] = 17
student["goal"] = "Webアプリを作る"
print(student)
存在しないキーを安全に読むには .get() を使います。
print(student.get("goal"))
print(student.get("school", "未設定"))
リストと辞書を組み合わせる
複数人のデータは、辞書のリストで表せます。
students = [
{"name": "Ada", "language": "Python"},
{"name": "Taro", "language": "JavaScript"},
{"name": "Hanako", "language": "Java"},
]
for student in students:
print(f"{student['name']}さんは{student['language']}を学習中です")
よくあるエラー
| エラー | 原因 | 修正 |
|---|---|---|
IndexError | 存在しない番号を指定した | リストの長さを確認 |
KeyError | 存在しないキーを指定した | .get() を使う |
TypeError | リストと辞書の扱いを混同した | [] と {} の構造を見る |
| 期待と違う値 | 0始まりを忘れた | 最初は [0] |
練習
学習記録を作ってください。
subjectsリストに3つの学習テーマを入れるappend()で1つ追加するprofile辞書に名前、学年、目標を入れる- f-stringでプロフィール文を表示する
- 辞書のリストで3日分の学習記録を作る
次のステップ
Python入門 #5 - 関数の基本 で、処理に名前を付けて再利用する方法を練習します。