Pythonのリストと辞書とは?作り方・要素の操作を解説

PR Python

Pythonのリストと辞書とは?作り方・要素の操作を解説

💡 この記事でわかること

  • リスト・辞書とは何か、どう使い分けるのか
  • リストの作り方と、インデックス・スライスでの取り出し方
  • append・insert・remove・pop など、リストの要素を追加・削除する方法
  • 辞書のキーと値の扱い方、get() での安全な取り出し
  • for文でリスト・辞書を1つずつ処理する方法

1. リスト・辞書とは?

リストと辞書は、
👉 複数の値をまとめて1つの変数で扱うためのデータ構造です。

  • リスト(list):値を順番に並べて管理する。[ ]で書く
  • 辞書(dict):値を「キー(名前)」と「値」のペアで管理する。{ }で書く
# リスト:3人の名前を順番に並べる
names = ["太郎", "花子", "次郎"]

# 辞書:1人の情報を項目名つきで持つ
user = {"name": "太郎", "age": 20}

💡 「同じ種類のものを並べたい」ならリスト、「1件のデータに名前つきの項目を持たせたい」なら辞書、と考えると使い分けやすいです

👉 Pythonの基本的なデータ型(文字列・数値・真偽値)についての記事はこちら


2. リストの作り方と取り出し方

リストは[ ]の中に、値をカンマ区切りで並べて作ります。要素は0から始まる番号(インデックス)で取り出します。

fruits = ["りんご", "みかん", "ぶどう"]

print(fruits[0])    # りんご(1番目)
print(fruits[2])    # ぶどう(3番目)
print(fruits[-1])   # ぶどう(うしろから1番目)

fruits[1] = "もも"   # 2番目を書き換える
print(fruits)       # ['りんご', 'もも', 'ぶどう']

👉 先頭は[0]、末尾は[-1]で取り出せます。存在しない番号(例:要素が3つなのに[5])を指定するとIndexErrorになります。

スライスで範囲を取り出す

nums = [10, 20, 30, 40, 50]

print(nums[1:3])   # [20, 30](1番目から3番目の手前まで)
print(nums[:2])    # [10, 20](先頭から)
print(nums[3:])    # [40, 50](3番目から最後まで)

💡 [開始:終了]と書くと、開始番号から「終了番号の1つ手前」までを取り出します。終了番号自体は含まれない点に注意してください。


3. リストの要素を追加・削除する

tasks = ["買い物", "掃除"]

tasks.append("洗濯")       # 末尾に追加 → ['買い物', '掃除', '洗濯']
tasks.insert(0, "朝食")    # 位置を指定して追加 → ['朝食', '買い物', '掃除', '洗濯']

tasks.remove("掃除")       # 値を指定して削除
last = tasks.pop()          # 末尾を取り出して削除(lastに '洗濯' が入る)

print(len(tasks))           # 2(要素数)
print("朝食" in tasks)      # True(含まれているか)
  • append(値):末尾に1つ追加する
  • insert(位置, 値):指定した位置に追加する
  • remove(値):その値を持つ最初の要素を削除する
  • pop():末尾の要素を取り出して削除する(pop(0)で先頭)
  • len(リスト):要素の数を数える

4. for文でリストを1つずつ処理する

fruits = ["りんご", "みかん", "ぶどう"]

for fruit in fruits:
    print(fruit)

# 番号もいっしょに使いたいときは enumerate()
for i, fruit in enumerate(fruits):
    print(i, fruit)   # 0 りんご / 1 みかん / 2 ぶどう

👉 リストとfor文はセットでよく使います。for文の基本的な書き方は、こちらの記事で解説しています。

👉 Pythonのif文・for文・while文についての記事はこちら


5. 辞書の作り方と取り出し方

辞書は{ }の中にキー: 値のペアをカンマ区切りで並べて作ります。値を取り出すときは、番号ではなくキーを指定します。

user = {"name": "太郎", "age": 20}

print(user["name"])   # 太郎
print(user["age"])    # 20

👉 存在しないキーをuser["email"]のように指定するとKeyErrorになります。キーがあるか分からないときは、次のget()を使うと安全です。

print(user.get("email"))            # None(エラーにならない)
print(user.get("email", "未登録"))   # 未登録(見つからないときの値を指定)

6. 辞書の値を追加・変更・削除する

user = {"name": "太郎", "age": 20}

user["age"] = 21             # 既存のキー → 値を変更
user["email"] = "taro@example.com"   # 新しいキー → 追加

del user["age"]              # キーごと削除

print("name" in user)        # True(キーがあるか調べる)
print(user)                  # {'name': '太郎', 'email': 'taro@example.com'}

💡 辞書[キー] = 値は、キーが既にあれば「変更」、なければ「追加」になります。同じ書き方で両方できると覚えておくと分かりやすいです。


7. for文で辞書を処理する

scores = {"国語": 80, "数学": 65, "英語": 90}

# キーと値の両方を取り出す(items())
for subject, score in scores.items():
    print(subject, score)

# キーだけ / 値だけ
print(list(scores.keys()))     # ['国語', '数学', '英語']
print(list(scores.values()))   # [80, 65, 90]

👉 辞書をfor文で回すときは.items()を使い、キーと値を同時に受け取るのが基本形です。


8. リストと辞書を組み合わせる

実際のプログラムでは、「辞書をリストに並べる」形がよく登場します。例えば「複数人のユーザー情報」は次のように表せます。

users = [
    {"name": "太郎", "age": 20},
    {"name": "花子", "age": 25},
    {"name": "次郎", "age": 18},
]

for u in users:
    print(u["name"], "さん", u["age"], "歳")

# 太郎 さん 20 歳
# 花子 さん 25 歳
# 次郎 さん 18 歳

💡 この「辞書のリスト」は、CSVファイルやWeb APIから受け取るデータの形とほぼ同じです。リストと辞書を組み合わせて扱えるようになると、実務のデータ処理にそのままつながります。


9. データ構造 早見表

種類書き方特徴取り出し方
リスト(list)[1, 2, 3]順番がある。あとから変更できる番号(インデックス)
辞書(dict){"key": "値"}キーと値のペア。名前で管理するキー
タプル(tuple)(1, 2, 3)リストに似ているが変更できない番号(インデックス)
セット(set){1, 2, 3}重複なし・順番なし(順不同・in で判定)

👉 まずはリストと辞書の2つを押さえれば十分です。タプルとセットは、必要になったときに調べれば問題ありません。


10. まとめ

  • リスト:[ ]で作り、番号([0][-1])やスライス([1:3])で取り出す
  • リストの操作:appendinsertremovepoplen
  • 辞書:{ }キー: 値を書き、キーで取り出す。get()ならキーがなくてもエラーにならない
  • 辞書のfor文は.items()でキーと値を同時に受け取る
  • 「辞書のリスト」は実務データの基本形

👉 リストと辞書は、これから書くほとんどのプログラムで登場します。小さなデータで実際に追加・取り出し・繰り返しを試しながら、操作に慣れていきましょう。

-Python
-, , , ,