【Python 文法 独学】Python の「タプル」とは?タプルの作成、定義、要素、型、削除方法、タプルとリストの違いなど、サクッとまとめました【Python 学習 初心者】

Python

今回は、1つの変数に、オブジェクトをいくつも入れることができる「タプル(tuple)」という変数をご紹介します。

本記事では、

  • タプルとは?と、タプルの作成
  • タプルの要素、型
  • タプルの削除方法
  • タプルとリストとの違い

などの基本知識をさくっと解説します。

タプルの基本操作に慣れてもらえたらと思います。

 

 

 

【Python 文法 独学】Python の「タプル」とは?タプルの作成、定義、要素、型、削除方法、タプルとリストの違いなど、サクッとまとめました【Python 学習 初心者】

Python の「タプル(tuple)」とは

Python のタプルとは、複数のオブジェクトを1列に並べたものです。

例えば、

Tuple_hensu1 = ( 1,  2,  3 )

のような感じです。

複数のオブジェクトをまとめて扱えるメリットがあります。

 

 

Python タプルの作成・定義方法は?

タプルの作り方

Tuple_hensu1 = ( 1, 2, 3 )

を作ることを考えてみます。

(1), 左にタプルの変数名を書きます。

(今回は Tuple_hensu1 にしましたが、なんでもいいです)

(2), タプル全体を(  )で囲み、その中に、オブジェクトを並べます。

オブジェクトの間は、「, (カンマ)」で区切ります。

(3), 変数名と (  ) を =(代入演算子)でつなぎます。

このように、タプルの変数名にタプルを代入することを、「タプルの生成」とも呼びます。

具体的には以下の感じです↓

In[2] で、タプルを定義しています。

In[3] で、タプルの中身を確認するために、タプルの変数名を打ち込んでいます。

すると、Out[3] のように、きちんとタプルが作られていることがわかります。

In[4] では、print関数を使って、タプルの中身を確認しています。

 

 

タプルを扱う上で、知っておくと役立つのが、要素の知識です。

Python タプルの要素

カンマで区切られたそれぞれのオブジェクトを、そのタプルの「要素(ようそ)」と呼びます。

Tuple_hensu1 = ( 1, 2, 3 )

なら、要素は、1、2、3、になります。

 

 

 

Python タプルの型とは?

変数には、型があることを学びましたが、

タプルのオブジェクトには、いろいろな型のオブジェクトを入れることができます。

例えば、

Tuple_hensu2 = ( 123,  ‘hello’,  5.67 )

のような感じで、

  • 1つ目(123)は、整数型オブジェクト
  • 2つ目(’hello’)は、文字列オブジェクト
  • 3つ目(5.67)は、浮動小数点型オブジェクト

など、

1つのタプルに型が違うオブジェクトを入れることが可能です。

 

ちなみに、型ってなに?って方は以下の記事もどうぞ↓

【Python 文法 独学】Python の「型(type)」とは?型の確認方法は?などについて、サクッとまとめました【Python 学習 初心者】

 

 

 

Python タプルの削除方法とは?

Python タプルの削除は、「del 関数」が使えます。

del(タプルの変数名)

とすると、タプルが削除されます。

( del は、削除する( delete )の略です)

使い方は以下のような感じです↓

In[6] で、タプルを定義しています。

In[7] では、del 関数を使って、タプルを削除しています。

In[8] では、タプルが削除したか確かめています。

“NameError: ‘Tuple_hensu1’ is not defined

“変数 Tuple_hensu1 が定義されてないですよ”

と出ています。

In[6] で作成したタプルが削除されたことがわかります。

 

 

 

タプルは、複数のオブジェクトをひとかたまりに扱えることがわかりました。

リストも、複数のオブジェクトをひとかたまりに扱えます。

 

え?じゃあ、タプルとリストは、どう違うの?

 

と思われるかもしれません。

そこで、タプルとリストの違いを説明します。

タプルとリストとの違い(不変性と可変生)

タプルは不変性をもつ

タプルは、一度作ったタプルの中身を変えることができません。

中身を変更しようとするとエラーになります。

中身を上書きできない性質を持っています。

これを「不変性」と呼びます。

実際に「タプルの不変性」の性質を確かめてみます

In[9] で、タプルを作成しています。

In[10]で、タプルの0番目(最初)の要素に、

新しいオブジェクト4を代入しようとしています。

その結果、以下のようなエラーが出ています。

TypeError: ‘tuple’ object does not support item assignment”

“型のルールによるエラー:タプルオブジェクトは、アイテムを代入することができません”

と出てきています。

In[14] で、タプルの中身を確認してみると、

最初に作成した中身がそのままになっていることが確認できます。

  • タプルの中身は変更不可

これが「不変性」と呼ばれる性質になります。

 

 

 

リストは可変性をもつ

リストは、一度作ったタプルの中身を変えることができます。

中身を上書きできる性質を持っています。

これを「可変性」と呼びます。

実際に「リストの可変性」の性質を確かめてみます

In[11] で、リストを作成しています。

In[12]で、リストの0番目(最初)の要素に、

新しいオブジェクト4を代入しようとしています。

In[13] で、リストの中身を確認してみると、

リストの最初の要素が4に変わっています。

  • リストの中身は変更できる

これが「リストの可変性」です。

 

 

タプルはなぜ不変なの?メリットは?

プログラムを実行している時に、中身を変更したくないオブジェクトがあることがあります。

それをリストで作成することもできます。

でも、リストだと、万が一何かの間違いがあった時、

中身が変更されてしまうリスクがあります。

それに対して、

中身を変えたくないオブジェクトはタプルで作っておけば、

  • プログラムの実行中に変更されないことが保証される

というメリットがあります。

 

リストってなんだっけ?という方は、こちらの記事もどうぞ↓

【Python 文法 独学】Python の「リスト」とは?リストの作成、定義、空のリスト、リストの要素など、サクッとまとめました【Python 学習 初心者】

 

 

 

というわけで、本記事では、

  • タプルとは?と、タプルの作成
  • タプルの要素、型
  • タプルの削除方法
  • タプルとリストとの違い

などの基本知識をさくっと解説しました。

 

 

 

こちらもございます↓

 

「タプル」については、こちらの書籍でも解説しています(無料)↓