【Python】タプルで不変データをまとめる!「リスト」との違いについて


前回、複数のデータをまとめる「リスト」を紹介しました。

【Python】リストで複数のデータを1つにまとめる

2019年12月6日

Pythonには同じような動作として「タプル」と言うものも存在します。
今回は「タプル」の動作と、リストとの違いについてまとめました。


【Python】不変のデータをまとめる「タプル」の使い方

「タプル」は不変なデータをリスト化する際に使用します。
不変なデータとは、プログラム実行中にリストのデータの値が変わることがないデータと言う意味となります。

Pythonでは、不変なデータを扱うために、「タプル」が存在します。

まずは「タプル」を使用する上で、知っておかなければいけないことは、「リスト」との違いです。
リストとタプルの違いをしっかり頭に入れた上で、それぞれの使い分けをすることが大切です。

「タプル」と「リスト」の違い

上記でも簡単に説明しましたが、リストとの大きな違いは以下となります。

  • リストは作成した後で、値の追加や削除が可能
  • タプルはプログラム実行中に変更することができない
  • タプルを変更するには、プログラムないのタプルを定義している部分を書き換えるしかない
  • リストは角カッコ[]、タプルは円カッコ()で囲む


「タプル」の構文と使い方

タプルの構文は以下のようになります。

test_tuple = (‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’)

タプルはリストと同じくデータの参照の考え方は同じです。
違いといえば円カッコ()で囲むだけです。後は、データをカンマ区切りで入力する点は変わりません。

ただし、注意するべきところは、データの「定義」は円カッコ()を使いますが、データの参照はリストと同じく角カッコ[]を使うので間違いないようにしましょう。

タプルの参照

>>> month_tuple = ('1月', '2月', '3月', '4月', '5月', '6月')
>>> month_name = month_tuple[4]
>>> print(month_name)
5月

タプルは書き換えができない

>>> month_tuple = ('1月', '2月', '3月', '4月', '5月', '6月')
>>> month_tuple[4] = '7月'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> 

以上がタプルの設定と動作になります。
リストとの違いをしっかりあたまに入れておきましょう。


関連記事


コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!