リスト: 順序のあるデータ

Pythonで最もよく使うデータ構造。内包表記で簡潔に。

リスト
順序付きの変更可能なコレクション。
スライス
部分リストを取得する構文。
内包表記
リストを簡潔に生成する構文。

リスト基礎

魔法の無限本棚 (Magic Infinite Bookshelf)

リストは「魔法の本棚」です。本(データ)を左から順に並べて管理します。普通の棚と違うのは、新しい本を入れると棚が勝手に伸び縮みすることです。0番目、1番目…と番号で管理され、好きな場所に新しい本を差し込んだり(insert)、抜き取ったり(pop)できます。

Pythonのリストは「可変(ミュータブル)」です。作成した後でも中身を自由に変更できます。サイズ制限もなく、異なる種類のデータ(数値と文字列など)を混ぜて入れることも可能です。

List Operations
fruits = ["apple", "banana", "cherry"]
# アクセス
fruits[0] # 'apple'
fruits[-1] # 'cherry' (末尾)
fruits[1:3] # ['banana', 'cherry'] (スライス)
# 変更
fruits.append("date") # 末尾に追加
fruits.insert(1, "apricot") # 指定位置に挿入
fruits.remove("banana") # 値で削除
fruits.pop() # 末尾を取り出し

リスト内包表記

Bad
# ❌ Bad: for ループで新リスト作成
result = []
for x in numbers:
result.append(x * 2)
Good
# ✅ Good: リスト内包表記
result = [x * 2 for x in numbers]
Advanced Comprehension
# 条件付き
evens = [x for x in range(10) if x % 2 == 0]
# 変換 + 条件
names = ["Alice", "Bob", "Charlie"]
short = [n.upper() for n in names if len(n) < 6]
# ネスト
matrix = [[1, 2], [3, 4]]
flat = [x for row in matrix for x in row] # [1, 2, 3, 4]

合格ライン

スライス構文を使える
リスト内包表記を書ける

演習課題

課題1: スライス
スライス構文でリストを操作してください。
課題2: リスト内包表記
リスト内包表記でフィルタと変換を行ってください。