Python超入門⑥ リストと辞書でデータをまとめよう
listとdictを使い、複数の値や、名前と値の組み合わせをまとめて扱います。
第6回では、複数の値をまとめるリストと辞書を学びます。
リスト
scores = [80, 95, 70]
print(scores[0])
print(scores[1])
リストの位置は0から数えます。scores[0]が最初の80です。
値を追加・変更する
scores = [80, 95]
scores.append(70)
scores[0] = 85
print(scores)
appendは、リストの最後へ値を追加します。
リストを繰り返しで読む
scores = [80, 95, 70]
total = 0
for score in scores:
total += score
average = total / len(scores)
print(f"平均は{average}点です")
lenは、リストに入っている値の個数を返します。
辞書
辞書は、名前と値を組み合わせて保存します。
student = {
"name": "Aoi",
"score": 80,
"passed": True
}
print(student["name"])
print(student["score"])
nameやscoreをキー、その右側を値と呼びます。
辞書の値を変更・追加する
student["score"] = 90
student["class"] = "A"
存在するキーなら変更され、新しいキーなら追加されます。
リストの中へ辞書を入れる
students = [
{"name": "Aoi", "score": 80},
{"name": "Ren", "score": 65}
]
for student in students:
print(f"{student['name']}: {student['score']}点")
複数人の情報をまとめて扱えるようになります。
小さな練習
商品名と価格を持つ辞書を3個作り、リストへ入れてください。for文ですべての商品名を表示しましょう。
模範解答
products = [
{"name": "ノート", "price": 180},
{"name": "ペン", "price": 120},
{"name": "消しゴム", "price": 100}
]
for product in products:
print(product["name"])
解説
productsは辞書を3個持つリストです。for文で辞書を1個ずつproductへ取り出し、product["name"]で商品名だけを表示しています。価格も表示したい場合は、同じようにproduct["price"]を使えます。
まとめ
- リストは複数の値を順番に保存します。
- 辞書はキーと値の組み合わせを保存します。
- リストと辞書は組み合わせて使えます。
前の記事:Python超入門⑤ 関数を作ろう