Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Python・データ構造】~タプル~


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます。Shotaです。本日もPythonに関する記事を紹介していきたいと思います。今日はPythonのデータの一つである「タプル」について詳しく解説していきたいと思います。

 

【目次】

 

1.タプルとは

 多数の値をまとめて扱うことができるのは、リストだけではありません。リスト以外の中でも、非常にユニークな働きをするのが「タプル(Tuple)」です。

Pythonではいくつかの値をカンマでつなげて記述すると、タプルと認識されます。より明示的に表現するならタプルにまとめる値の前後を()でくくります。このようにして書くと、どの値をまとめてタプルを作るかがひと目で分かります。

タプルの値も、リストと同様にインデックス番号が振られています。タプル内の値はリストと同じく添字を使って表記します。そして、インデックス番号を指定して取り出すことができます。

以下のようなコードを書いてみましょう。

 

f:id:ShotaNukumizu_1000:20210414072822p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210414072855p:plain

 

このように、作成されたタプルであるtpに収められている値が、[]を使って簡単に取り出せることが理解できるでしょう。

 

ミュータブルとイミュータブル

 ここまでわかるようにタプルの基本的な仕組みや使い方はリストと類似しています。両者もあらかじめ値を用意して作成でき、インデックスを使って値を取り出すことができます。しかし、両者には決定的な違いが存在します。それは、「タプルは値の変更ができない」ということです。

Pythonのデータのオブジェクトには、「ミュータブル」「イミュータブル」の2つの特徴に分類されます。

 

ミュータブル:値の変更ができるオブジェクト

イミュータブル:値の変更ができないオブジェクト

 

タプルは値を自由自在に変更することができないので、必要に応じてデータを編集することができません。「予め用意されていたデータを使う」ような、必要な値を取り出すだけの使い方になります。

算術演算

タプルはイミュータブルです。ところが、タプルは足し算や掛け算のような演算をすることができます。(やり方はリストと全く同じ)タプルはイミュータブルなのに、どうして足し算や掛け算ができるのでしょうか。

実は単純で、「足し算や掛け算で、新しいタプルを作っている」からです。イミュータブルは、あくまで「自分自身を書き換えることができるか」です。自分自身をベースに新しい値を作る分には全く問題ありません。

 

 タプルの足し算

 「+」記号を使って、2つのタプルを一つにまとめることができます。

タプルの掛け算

 「*」記号を使って、複数のタプルを一つにつなげることができます。左辺のタプルを右辺の整数の数だけ繰り返しつなげて作ることができます。

 

このように、タプルもリストと同様に演算できます。 

シーケンス演算

 タプルも、リストと同じシーケンスと呼ばれるコンテナの一種です。リストにある「シーケンス演算」もタプルで利用することができます。

試しに、以下のようなコードを書いてみましょう。

 

f:id:ShotaNukumizu_1000:20210414073359p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210414073454p:plain

 

このようにして、タプルはリストと同様に演算することができます。

まとめ 

 【今日のまとめ】

  • タプルはリストと同じく、複数の値をひとまとめにして扱うためのデータ。基本的な構造はリストに非常に似ているが、リストと違って値を自由自在に変更できない
  • タプルはリストと同じように足し算や掛け算、シーケンス演算ができる。

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日はデータ構造の一つ「レンジ」について詳しく説明していきます。

今日も最後まで読んでくださりありがとうございました!

 

 

【参考図書】

gihyo.jp