🐍

Pythonの基礎:リストを完全理解!動きが見えるサンプル付き解説

に公開

Pythonの「リスト」は、複数の値をひとまとめにして扱える便利なデータ型です。ただし、参照の仕組みや値の変化が見えづらいため、初心者がつまずきやすいポイントでもあります。

この記事では、サンプルコード+実行結果+ポイント解説で、リストの動きをしっかり理解できるように構成しています。


リストの基本:作成とアクセス

リストは [] を使って作成し、インデックス番号で要素にアクセスします。

fruits = ["apple", "banana", "cherry"]  # リストを作成
print(fruits[0])     # 先頭の要素(0番目)を取得
print(fruits[-1])    # 最後の要素を取得(-1は末尾の意味)

実行結果:

apple
cherry

→ インデックス番号で特定の位置の値を簡単に取り出せます。


リストの操作:追加・削除・更新

リストには、あとから値を追加・削除・上書きできます。

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")     # 最後に"orange"を追加
fruits.remove("banana")     # "banana"を削除(値で指定)
fruits[1] = "grape"         # インデックス1の要素を"grape"に更新
print(fruits)               # リストの内容を表示

実行結果:

['apple', 'grape', 'orange']

→ リストは柔軟に変更できます。順番も自動的に保たれます。


代入とコピーの違い(ここが重要!)

変数同士で代入すると、同じリストを共有してしまいます。

a = [1, 2, 3]     # リストを作成
b = a            # aとbは同じリストを参照する
b[0] = 99        # bを変更するとaにも影響する
print("a:", a)   # aの内容を表示
print("b:", b)   # bの内容を表示

実行結果:

a: [99, 2, 3]
b: [99, 2, 3]

a = b は「aもbも同じモノを持つ」ことになる点に注意。


コピーすれば別物になる

copy() を使うと、まったく別のリストが作れます。

a = [1, 2, 3]        # 元のリスト
b = a.copy()         # 別のリストをコピーで作成
b[0] = 99            # bだけを変更
print("a:", a)       # aは元のまま
print("b:", b)       # bは変更されている

実行結果:

a: [1, 2, 3]
b: [99, 2, 3]

.copy() を使えば、元のリストを壊さずに操作できます。


for文との組み合わせ:リストを1つずつ処理

for 文を使うと、リストの中の値を順に処理できます。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:        # fruitsの各要素を1つずつ取り出す
    print(fruit)            # 要素を表示

実行結果:

apple
banana
cherry

→ 順番に処理したいときは for 文がシンプルで便利です。


リスト内包表記(中級編)

リストから別のリストを一行で作ることができます。

nums = [1, 2, 3, 4]                 # 元のリスト
squared = [x**2 for x in nums]     # 各要素を2乗して新しいリストを作る
print(squared)                     # 結果を表示

実行結果:

[1, 4, 9, 16]

→ リスト内包表記は短くて読みやすく、処理の意図が明確です。


まとめ

  • リストは複数の値をまとめて管理できる強力な型
  • 追加・削除・更新などの操作が直感的に行える
  • 代入は参照コピーになるため .copy() を使うことが重要
  • for 文や内包表記で柔軟な処理ができる

リストはPythonでも特によく使う基本構文のひとつです。ここでしっかりと仕組みと動きを理解しておけば、今後のPython学習もスムーズになります。ぜひ、この記事を参考に実際にコードを動かしながら試してみてください。

Discussion