プログラミング

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超入門⑤ 関数を作ろう

次の記事:Python超入門⑦ エラー処理とファイル保存

← 記事一覧へ戻る