【Python入門】タプルは変更できないイミュータブル型

リストとタプルの違い

Pythonのリストとタプルの違いは、生成後に追加や削除、値を変更ができるか、できないかです。

リストは生成後、要素を追加したり、要素の値を変更することができます。

タプルは生成後、要素を追加、削除、値を変更することができません。

要素の値を変更できることをミュータブル(変更可)、要素の値を変更できないものをイミュータブル(変更不可)と言います。

タプルを生成するときは、次のように記述します。

変数名 = ( 要素1, 要素2, 要3, .....)

リストは角括弧[ ]を使用しますが、タプルでは丸括弧( )を使用します。

( )を省力してもタプルになります。

変数名 = 要素1, 要素2, 要素3, .....

タプルから値を取り出す方法

タプルから要素を取り出すときは、インデックスを指定します。

>> season = "春", "‍夏", "秋", "冬"
>>> season[2]
'秋'
>>>

タプルもリストと同様に要素を0から数えます。
秋は3番目なので、インデックスは2を指定します。

タプルでエラーが起きる原因

タプルはイミュータブルなので、値を変更するとエラーになります。

>> season[0] = "節分"
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
season[0] = "節分"
TypeError: 'tuple' object does not support item assignment
>>>

タプルをリストに変換する方法

タプルで生成したseasonをリストへ変換します。

list(season)と記述することで、タプルをリストへ変換できます。

>> season = ("春", "夏", "秋", "冬")
>>> print(season)
('春', '夏', '秋', '冬')
>>> list_season = list(season)
>>> print(list_season)
['春', '夏', '秋', '冬']
>>>

( )で括られていたタプルが、[ ]で括られたリストに変わっていることがわかると思います。

リストをタプルに変換する方法

リストで生成したseasonをタプルへ変換します。

tuple(season)と記述することで、リストをタプルに変換しています。

>> season = ["春", "夏", "秋", "冬"]
>>> print(season)
['春', '夏', '秋', '冬']
>>> tuple_season = tuple(season)
>>> print(tuple_season)
('春', '夏', '秋', '冬')
>>>

[ ]で括られていたリストが、( )で括られたタプルに変わっていることがわかると思います。

まとめ

タプルはイミュータブルな型で、値の変更不可であることと、タプルをリスト型へ変更する方法を書きました。
最後までお読みいただきありがとうございました。

返信を残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください