Python基礎:プログラミングへの最初の一歩
リストとタプル
Lesson 9 of 16 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Pythonには、アイテムのコレクションを格納するための基本的なデータ構造として、リスト(lists) と タプル(tuples) の2種類があります。
どちらも複数の値を1つの変数に格納できますが、大きな違いがあります — リストは変更可能、タプルは変更不可 です。
それぞれ詳しく見ていきましょう。
Pythonのリスト
リスト は ミュータブル(mutable) なアイテムの集まりです。
ミュータブルとは、アイテムをいつでも追加、削除、変更できることを意味します。リストは角括弧 [] で書き、アイテムはカンマで区切ります。
例 — リストの作成:
fruits = ["apple", "banana", "orange"]
print(fruits)
# 出力: ["apple", "banana", "orange"]
1.1. インデックスによるアイテムのアクセス
Pythonでは、リスト(およびほとんどのシーケンス)はインデックス 0 から数え始めます。
つまり、リストの最初のアイテムは位置 0 にあり、2番目は 1、という具合です。
print(fruits[0])
# 出力: "apple"
ヒント: マイナスのインデックスは末尾から数えます: fruits[-1] → "orange"
1.2. リストのスライス
文字列と同様に、リストもスライスして範囲のアイテムを取得できます:
print(fruits[0:2])
# 出力: ["apple", "banana"]
スライス [start:end] は開始インデックスを含みますが、終了インデックスの直前で止まります。
1.3. アイテムの追加
リストの末尾にアイテムを追加するときは .append() を使います:
fruits.append("pineapple")
print(fruits)
# 出力: ["apple", "banana", "orange", "pineapple"]
1.4. アイテムの削除
特定の値の最初の出現を削除するときは .remove() を使います:
fruits.remove("orange")
print(fruits)
# 出力: ["apple", "banana", "pineapple"]
1.5. アイテムの存在確認
in 演算子を使うと、リスト内に値が存在するかどうかを確認できます:
has_orange = "orange" in fruits
print(has_orange) # False
これを関数内で使うこともできます:
def is_fruit(item):
if item in fruits:
print(f"{item} は果物です!")
else:
print(f"{item} は果物ではありません!")
is_fruit("horse")
is_fruit("apple")
1.6. アイテムの変更
リストはミュータブルなので、既存の値を上書きできます:
fruits[0] = "green apple"
print(fruits)
重要!: リストは柔軟性が必要な場合に適しています。ただし、コレクションの内容が絶対に変わらないことが望ましい場合は、代わりにタプルを使いましょう。
Pythonのタプル
タプル はリストに非常によく似ていますが、イミュータブル(immutable) です。 イミュータブルとは、作成後は要素の追加、削除、変更ができないことを意味します。
タプルは丸括弧 () で囲み、アイテムはカンマで区切ります:
example = (1, 2, 3, 4)
print(example)
注意: タプルはリストなどのミュータブルなオブジェクトを内部に含めることはできますが、タプル自身の構造(どのアイテムが含まれているか)は変更できません。
まとめ
- リスト: ミュータブル、
[]を使い、変化するコレクションに最適。 - タプル: イミュータブル、
()を使い、固定データに最適。
次のレッスンでは、これらのコレクション内の各アイテムを処理するためのツールである ループ を学びます。