【Python】タプル、リストとは何か?違いも解説!

Python(パイソン)を学んでいる皆さん、
こんにちは!今回はPythonの基本的なデータ構造である「リスト」と「タプル」についてお話ししましょう。これらはプログラミングにおいて非常に重要な役割を果たすもので、しっかり理解しておくと便利です。

この記事で分かること
・Pythonのリストとタプルとは何か
・Pythonのリストとタプルの違い

目次

Pythonのリスト(list)

リスト(List)とは?

新人:グラミちゃん

リストって何?

エンジニア:プロくん

リストは複数の要素を一つにまとめて保存するためのデータ構造だよ。数字や文字列、他のリストなど、いろんなデータ型をリストに格納できるんだ。

リストの基本文法

my_list = [1, 2, 3, 4, 5]


Pythonのリストは、複数の要素を含む順序付きのデータ構造です。
リストは角かっこ [ ] を使って定義されます。

リストは可変(mutable)なデータシーケンスであり、要素の追加、削除、変更が可能です。

Python リストの指定方法

新人:グラミちゃん

なるほど。例えばどんな感じで使うの?

# 例
my_list = [1, 2, 3, 'Python']
エンジニア:プロくん

たとえば、これ。
整数や文字列が一緒になっている。

新人:グラミちゃん

なるほど、色々な種類のデータをまとめて使えるんだね。
でも、それぞれの要素ってどうやって指定するの?

エンジニア:プロくん

要素は順番を持っていて、それぞれには0から始まるインデックスが割り当てられているよ。たとえば、
my_list[0]は1だし、my_list[3]は’Python’だ。

pythonのリストでn番目を抽出する方法

# 例
my_list = [1, 2, 3, 'Python', ['a', 'b', 'c']]
新人:グラミちゃん

それにしても、リストの中にリストがあるんだね。
どうやって抽出するの?例えばn番目とか

エンジニア:プロくん

そうだね、指定した場所(n番目)を抽出するには
例えばmy_list[4][1]ってやれば、外側のリストの4番目の要素(別のリスト)の中から1番目の要素を抽出できるよ。
この場合だと’b’が抽出できるよ。

リストは可変(mutable)なデータ構造だから、要素の追加や変更が可能なんだ。

Pythonのタプル(Tuple)

タプル(Tuple)とは?

新人:グラミちゃん

タプルって何?

エンジニア:プロくん

タプルも複数の要素をまとめて保存するデータ構造だよ
リストの違いはこの後説明するね!

タプルの基本文法

タプルの作成:カンマで区切られた要素の並びを丸括弧で囲んで作成します。

以下にタプルの基本的な文法を示します:

my_tuple = (1, 2, 3, 4, 5)

タプルは、Pythonで複数の要素をグループ化するデータ構造です。
タプルはリストと似ていますが、タプルは不変(immutable)であり、要素を変更できません。

新人:グラミちゃん

リストと似ているねリストとの違いを教えてほしい!

Pythonのタプルとリストの違い

エンジニア:プロくん

タプルとリストの違いはこんな感じ!

リスト(List):

  1. リストは可変(mutable)なデータ構造である。
  2. 要素の追加、削除、変更が可能である。
  3. [](角括弧)を使って要素を定義し、カンマで区切る。
  4. メモリ上の配置は連続的であり、要素の順序が保持される。
  5. リスト内包表記を使ってリストを生成することができる。
  6. 関数やメソッドを使ってリストを操作することができる。

タプル(Tuple):

  1. タプルは不変(immutable)なデータ構造である。
  2. 要素の追加、削除、変更ができない。
  3. ()(丸括弧)を使って要素を定義し、カンマで区切る。
  4. メモリ上の配置は連続的ではないが、要素の順序が保持される。
  5. タプル内包表記は存在せず、ジェネレータ式が使われる。
  6. イテラブルなオブジェクトであり、要素を一度に取り出すことができる。
エンジニア:プロくん

一番大きな違いは、
タプルが不変(immutable)
リストが可変(mutable)
が違いだよ。

新人:グラミちゃん

そうなんだ。
リストって変更できるのに、タプルはできないのが違いなんだね!

エンジニア:プロくん

そう。違いが理解できたね!

例えば、こんなことはエラーになるんだよ。my_tuple[0] = 100del my_tuple[2]ってやるとエラーが出る。

# エラーが出る操作
# my_tuple[0] = 100
# del my_tuple[2]
新人:グラミちゃん

わかった。でも、それってどうして使うの?

エンジニア:プロくん

タプルは変更されることのないデータをまとめて管理するのに使われることが多いんだ。
例えば、関数の戻り値や定数などがタプルで表現されることがあるよ。

まとめ

リストとタプルはどちらもデータをまとめて扱うための重要なツールです。

リストとタプルには違いがあり

リストは可変であり、要素の変更や追加ができます。

一方タプルは不変で、一度作成したら変更できません

これらの違いも理解した上で、

どちらも使いどころによって効果的に利用できるので、使い分けることを覚えましょう。

プログラミングの世界がもっと広がること間違いなしです!

目次