以前、複数のデータをまとめて管理できるリスト(https://augmented-vr.com/use-lists-in-python/)について学習しました。リストは後からデータを追加したり変更したりできる便利なものでしたが、今回はリストとよく似ているけれど「一度作ったら中身を絶対に変更できない」という特徴を持つ「タプル(tuple)」について解説します。

タプルを使用する

リストは角括弧[]を使って作成しましたが、タプルは丸括弧()を使って作成します。中身のデータを取り出す方法はリストと全く同じで、インデックス番号(0から始まる番号)を指定します。


Pythonでタプルを作成するには、変数名、イコール「=」、丸括弧「()」を使います。括弧の中に、データをカンマ「,」で区切って記述します。なので例としてタプルは、

変数名 = (データ1, データ2, データ3, ・・・)

の形式で記述します。

では、実際にやってみましょう。
Google Colaboratory(Colab) を開いて新しいノートブックを作成し、タプルを作成して中身を表示するプログラムを書いてみます。

# 果物のタプルを作成する
fruits_tuple = ("もも", "なし", "かき")

# 1番目(インデックス0)の要素を表示する
print("最初の果物: " + fruits_tuple[0])

# for文を使って、タプルの中身を順番に表示する
print("--- すべての果物 ---")
for fruit in fruits_tuple:
  print(fruit)

とセルに入力して実行してみましょう。すると結果は

最初の果物: もも
— すべての果物 —
もも
なし
かき

のように表示されます。

プログラムの解説

  • タプルの作成(2行目): 変数 fruits_tuple に丸括弧を使って「もも」「なし」「かき」のデータを持つタプルを代入しています。
  • 要素の取り出し(5行目): リストの時と同じように角括弧 [0] を使って、タプルの最初のデータ(もも)を取り出してprint関数で表示しています。
  • for文で繰り返す(9~10行目): for文を使って、タプルの中から一つずつデータを取り出し、変数 fruit に代入して順番に表示しています。

タプルは変更できない(エラーの確認)

タプルの最大の特徴は「変更ができない」ことです。リストのように後から中身を上書きしようとするとどうなるか、Colabで試してみましょう。

# 果物のタプルを作成する
fruits_tuple = ("もも", "なし", "かき")

# 最初の要素を「ぶどう」に書き換えようとする(ここでエラーになります)
fruits_tuple[0] = "ぶどう"

とセルに入力して実行してみましょう。すると結果は

TypeError: ‘tuple’ object does not support item assignment

というようなエラー(TypeError)が表示されて、プログラムが停止してしまいます。これはPythonが「タプルは中身の書き換え(代入)をサポートしていません」と教えてくれているのです。

なぜ「変更できない」データが必要?

「変更できないと不便ではないのか」と思うかもしれません。しかし、プログラムを作るうえではこの「変更できない」という性質がとても重要になります。
例えば、以下のようなデータは途中で変わってしまっては困ってしまいます。

  • 地図上の特定の場所の「緯度・経度」
  • 画面の「縦・横のサイズ」
  • 曜日(月,火,水,木,金,土,日)のリスト

もしこれらをリストで作ってしまうと、プログラムのどこかで間違えてdays[0] = "日" のように上書きしてしまった時、原因を見つけるのが大変なバグ(不具合)になってしまいます。最初からタプル () で作っておけば、万が一プログラムが間違えてデータを上書きしようとしても、Pythonがエラーを出して未然に防いでくれるので、安全性が担保されるというメリットがあります。

まとめ

  • タプルとは:丸括弧 () を使って複数のデータをまとめる機能。
  • リストとの違い: インデックスで値を取り出すことやfor文での使い方はリストと同じだが、一度作ると中身の変更・追加・削除ができない。
  • タプルを使うメリット: 絶対に変更されたくない重要なデータを、間違って上書きしてしまうミスから守ることができる。

リストとタプルの違いを理解して、扱うデータに合わせて適切に使い分けてみましょう。

open-in-colab

今回はこれで終了です。
今回のサンプルを用意したので、もし必要な場合は上の「Open in Colab」と書いてあるボタンをクリックしてください。なおそのままだと編集不可なので編集をしたい場合は「ドライブにコピー」をクリックしてコピーしてください。
なおGoogle ColaboratoryについてわからなかったらGoogleColaboratoryを使ってみよう_導入編をご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA