第7章 データ構造

7-1 複数の値をまとめて管理する

では、**「Pythonのリスト(list)というデータ型とは何か?」**を
超初心者向けに、例を多めに説明します。

リスト(list)とは?

一言で言うと

👉 複数の値を順番にまとめて入れておける箱です。

なぜリストが必要?

もし変数だけで管理すると👇

a = 10
b = 20
c = 30

数が増えると大変です。

👉 そこで リスト を使います。

numbers = [10, 20, 30]

これで「複数の値を1つの変数で管理」できます。

リストの基本形
リスト名 = [値1, 値2, 値3]
例:fruits = [“りんご”, “みかん”, “バナナ”]
[](角カッコ)で囲む
値は ,(カンマ)で区切る

リストに入れられるもの

👉 型は混ざっていてもOK(Pythonの特徴)

data = [1, “Python”, True, 3.14]

リストの要素を取り出す(超重要)

インデックス(番号)を使う

fruits = [“りんご”, “みかん”, “バナナ”]
print(fruits[0]
りんご

ポイント

番号は0から始まる

0 → 最初

1 → 2番目

リストの長さを調べる
print(len(fruits))

3

リストの中身を変更する
fruits[1] = “オレンジ”
print(fruits)

[‘りんご’, ‘オレンジ’, ‘バナナ’]

👉 リストは中身を変更できる(mutable)

リストに要素を追加する
fruits.append(“ぶどう”)
print(fruits)

リストから要素を削除する
fruits.remove(“りんご”)

または、del fruits[0]

for文とリスト(超重要)
for fruit in fruits:
print(fruit)

👉 リストと for文は セットでよく使う

リストと文字列の違い(混乱ポイント)

比較 リスト 文字列
書き方 [] " "
中身 複数の値 文字
変更 可能 不可

よくある初心者の勘違い

❌ fruits[3]
👉 要素が3個しかないので IndexError

まとめ(ここだけ覚えればOK)

ポイント 内容
list 複数の値をまとめる
書き方 [ ]
番号 0から
変更 できる
相性 for文と◎

覚え方

「リスト=番号付きの箱の列」
「0番から始まる」

ここを理解すると、
Pythonで扱えるデータの幅が一気に広がります

7-2 リストに紐づいた関数を呼び出す

では、**「Pythonのリストで可能な操作」**を
初心者が最初に覚えるべきもの中心にまとめて解説します。

リストでできること一覧(全体像)

① リストを作る
numbers = [10, 20, 30]

[] で作る

カンマ , 区切り

② 要素を取り出す(インデックス)
print(numbers[0])

👉 0番から始まる(最重要)

print(numbers[-1]) # 最後の要素

③ 要素を変更する
numbers[1] = 25
print(numbers)

👉 リストは中身を書き換え可能

④ 要素を追加する

末尾に追加(よく使う)

numbers.append(40)

指定位置に追加

numbers.insert(1, 15)

⑤ 要素を削除する

値を指定して削除

numbers.remove(20)

番号を指定して削除

del numbers[0]

取り出して削除

x = numbers.pop()

⑥ 要素数を調べる
print(len(numbers))

👉 要素の個数

⑦ 並び替える

昇順(小→大)

numbers.sort()

降順(大→小)

numbers.sort(reverse=True)

元を変えずに並び替え

new_numbers = sorted(numbers)

⑧ 繰り返し処理(for文)
for n in numbers:
print(n)

👉 リスト × for文は最重要コンビ

⑨ 要素が含まれるか調べる
if 20 in numbers:
print(“あります”)

⑩ リストを結合する
a = [1, 2]
b = [3, 4]
c = a + b

⑪ リストをコピーする(注意点)

❌ 間違いやすい

b = a

⭕ 正しいコピー

b = a.copy()

⑫ スライス(部分的に取り出す)
numbers = [10, 20, 30, 40, 50]
print(numbers[1:4])

👉 1番〜3番まで

よく使う操作まとめ表

操作 書き方
追加 append()
削除 remove(), del, pop()
並び替え sort(), sorted()
要素数 len()
確認 in
繰り返し for

覚え方

「リスト=並んだ箱」
「番号で取り出し、forで全部見る」

ここまで理解できれば、
Pythonでのデータ処理の基礎は完成です

7-3 キー/値の組みでデータを管理する

では、**「辞書(dictionary / dict)のデータ型とは何か?」**を
リストとの違いが分かるように、初心者向けに解説します。

辞書(dict)とは?

一言で言うと

👉 「キー」と「値」をセットで管理するデータ型です。

person = {
“name”: “田中”,
“age”: 30,
“city”: “東京”
}

“name” → キー

“田中” → 値

📘 現実の辞書と同じ

単語(キー) → 意味(値)

なぜ辞書が必要?

リストの場合

person = [“田中”, 30, “東京”]

❓ これだと…

30 が何か分からない

番号を覚える必要がある

辞書なら

person[“age”]

👉 意味で取り出せる(これが最大の強み)

辞書の基本形

辞書名 = {キー: 値, キー: 値}

例:score = {“math”: 80, “english”: 75}

{}(波カッコ)を使う

: で キーと値を結ぶ

, で区切る

値の取り出し方(超重要)

print(score[“math”])

80

⚠ キーが存在しないとエラーになります

値を追加・変更する

score[“science”] = 90 # 追加
score[“math”] = 85 # 変更

👉 同じ書き方でOK

要素を削除する

del score[“english”]

よく使う辞書のメソッド

操作 書き方
値取得 dict[key]
安全に取得 dict.get(key)
キー一覧 dict.keys()
値一覧 dict.values()
ペア一覧 dict.items()

リストと辞書の違い(超重要)

比較 リスト 辞書
管理方法 番号 キー
順番 あり なし(※保持される)
取り出し [0] ["key"]
用途 並び 情報

どんな時に辞書を使う?

✅ 人の情報
✅ 設定データ
✅ JSON / API
✅ 名前と値の対応表

config = {
“volume”: 10,
“fullscreen”: True
}

初心者向け覚え方

「リスト=番号」
「辞書=名前」

まとめ(ここだけ覚えればOK)

辞書は キーと値のセット
{} を使う
意味でデータを取り出せる
情報管理に最適

7-4 重複のない値セットを管理する

では、**セット(集合 / set)とは何か?**を
リスト・辞書との違いが分かるように解説します。

セット(set)とは?

一言で言うと

👉 重複しない値だけを集めたデータ型です。

numbers = {1, 2, 3, 3, 2}
print(numbers)
{1, 2, 3}

✔ 同じ値は 1つだけ
✔ 順番は 保証されない

なぜセットが必要?

例えば👇
「同じデータを1回だけ扱いたい」時に便利です。

登録済みユーザー一覧

重複チェック

共通要素の抽出

セットの基本形

セット名 = {値1, 値2, 値3}

⚠ 空のセットは注意!

s = {} # これは辞書
s = set() # これが空のセット

セットの特徴(超重要)

特徴 内容
重複 ❌できない
順番 ❌ない
インデックス ❌使えない
変更 ⭕可能

👉 s[0] のようなアクセスは できません

セットにできる操作

① 要素を追加する

s = {1, 2}
s.add(3)

② 要素を削除する

s.remove(2)

(なければエラー)

s.discard(2)

(なければ何もしない)

③ 要素が含まれるか確認

if 3 in s:
print(“あります”)

👉 高速で判定できる

セットの最大の強み:集合演算

共通部分(AND)

a = {1, 2, 3}
b = {3, 4, 5}
print(a & b)
{3}

和集合(OR)

print(a | b)
{1, 2, 3, 4, 5}

差集合(引き算)

print(a – b)
{1, 2}

リスト → セット(重複除去)

nums = [1, 2, 2, 3, 3]
unique = set(nums)

👉 重複削除の定番テク

セットに入れられるもの

✔ 数字
✔ 文字列
✔ タプル

❌ リスト
❌ 辞書

理由:変更できるものは入れられない

リスト・辞書・セット比較(重要)

特徴 使いどころ
list 順番あり 並びが必要
dict 名前で管理 情報管理
set 重複なし 判定・集合

初心者向け覚え方

リスト:並べる
辞書:名前で管理
セット:かぶりNG

まとめ(ここだけ覚えればOK)

セットは 重複しない集合
順番は気にしない
in 判定が速い
集合演算ができる

コメント