リストとタプルの違い
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) ('春', '夏', '秋', '冬') >>>
[ ]で括られていたリストが、( )で括られたタプルに変わっていることがわかると思います。
まとめ
タプルはイミュータブルな型で、値の変更不可であることと、タプルをリスト型へ変更する方法を書きました。
最後までお読みいただきありがとうございました。