Python入門
第5回:リストとタプル

Python

はじめに

Pythonでプログラムを書いていると、複数のデータをまとめて扱いたい場面が必ず出てきます。
そのときに活躍するのが リスト(list)タプル(tuple) です。

前回までに学んだ「変数」は、基本的に1つの値しか保持できませんでした。
しかし実際のプログラムでは、「複数の数値」「名前の一覧」「設定値のまとまり」などを扱うことがほとんどです。

今回は、Pythonの基本データ構造である
リストとタプルの使い方・違い・使い分け を、初心者向けに丁寧に解説します。


リストとは?

リストは、複数の値を順番にまとめて保存できるデータ型です。
Pythonでは、角括弧 [] を使って表現します。

numbers = [1, 2, 3, 4, 5]
names = ["Alice", "Bob", "Charlie"]
mixed = [1, "apple", True]

リストには次のような特徴があります。

  • 複数のデータをまとめて管理できる
  • 要素には順番(インデックス)がある
  • 中身を後から変更できる

特に「後から変更できる」という点が、タプルとの大きな違いになります。


リストの要素にアクセスする(インデックス)

リストの各要素には インデックス番号 が割り振られています。
インデックスは 0から始まる ので注意しましょう。

fruits = ["apple", "banana", "orange"]

print(fruits[0])  # apple
print(fruits[1])  # banana
print(fruits[2])  # orange

また、マイナスのインデックスを使うと、後ろから要素を指定できます。

print(fruits[-1])  # orange<br>print(fruits[-2])  # banana

この書き方は「最後の要素を取得したい」ときによく使われます。


リストの基本操作①:要素の追加(append)

append() の使い方

append() は、リストの末尾に要素を1つ追加するためのメソッドです。

numbers = [1, 2, 3]<br>numbers.append(4)<br><br>print(numbers)<br># [1, 2, 3, 4]

よくある使い方

scores = []

scores.append(80)
scores.append(90)
scores.append(75)

print(scores)
# [80, 90, 75]

このように、最初は空のリストを作り、
あとからデータを追加していく処理は非常によく使われます。


リストの基本操作②:要素の削除(remove / pop)

リストから要素を削除する方法はいくつかありますが、
ここでは特によく使う remove()pop() を紹介します。


remove():値を指定して削除

remove() は、指定した値を削除します。

fruits = ["apple", "banana", "orange"]
fruits.remove("banana")

print(fruits)
# ['apple', 'orange']

注意点

  • 指定した値が存在しない場合はエラーになる
  • 同じ値が複数ある場合、最初の1つだけ削除される

値が必ず存在することが分かっている場合に使うのが安全です。


pop():インデックスを指定して削除

pop() は、指定した位置の要素を削除し、その値を返すメソッドです。

fruits = ["apple", "banana", "orange"]<br>item = fruits.pop(1)<br><br>print(item)    # banana<br>print(fruits)  # ['apple', 'orange']

インデックスを省略すると、最後の要素が削除されます。

last = fruits.pop()

「削除した値をあとで使いたい」という場合は、pop() が便利です。


リストの基本操作③:スライス

スライスを使うと、リストの一部をまとめて取り出すことができます。

numbers = [0, 1, 2, 3, 4, 5]

print(numbers[1:4])
# [1, 2, 3]

スライスの書き方

list[start:end]
  • start:開始位置(含まれる)
  • end:終了位置(含まれない)

よく使う例

print(numbers[:3])    # [0, 1, 2]
print(numbers[3:])    # [3, 4, 5]
print(numbers[::2])   # [0, 2, 4]

スライスは、データ加工や集計処理で頻繁に登場します。


タプルとは?

タプルは、リストとよく似ていますが、
一度作成すると中身を変更できないという特徴があります。

point = (10, 20)
colors = ("red", "green", "blue")

この「変更できない」性質を
イミュータブル(immutable) と呼びます。


タプルの特徴(イミュータブル)

以下のコードはエラーになります。

point = (10, 20)
point[0] = 5

タプルは次のような用途に向いています。

  • 値を絶対に変更したくない場合
  • 設定値や定数のようなデータ
  • 意図しない書き換えを防ぎたい場合

安全性を高めたいときに使われます。


タプルの活用例①:複数の値をまとめる

user = ("Alice", 25, "Tokyo")

name = user[0]
age = user[1]
city = user[2]

タプルもリストと同様に、インデックスで要素へアクセスできます。


タプルの活用例②:関数の複数戻り値

Pythonでは、関数から複数の値を返すことができます
実際には、タプルとして返されています。

def calc(a, b):
    return a + b, a - b

result = calc(10, 3)
print(result)
# (13, 7)

アンパック代入

add, sub = calc(10, 3)

print(add)  # 13
print(sub)  # 7

この書き方は、実務でも非常によく使われます。


リストとタプルの使い分け

項目リストタプル
記号[]()
中身の変更可能不可能
主な用途データの追加・削除固定データ
安全性普通高い

使い分けの目安

  • 後からデータを変更する → リスト
  • 変更しないデータ → タプル

まとめ

今回は、Pythonで必須となる
リストとタプルの基本 を学びました。

  • リストは複数データを扱う基本のデータ型
  • append / remove / pop / スライスは必須操作
  • タプルはイミュータブルで安全
  • 関数の複数戻り値はタプルで扱われる

これらは、条件分岐・ループ・関数・データ処理すべての基礎になります。
ぜひ実際にコードを書いて、動かしながら理解を深めてください。

コメント

タイトルとURLをコピーしました