08. タプル(Tuple)

Pythonにおけるタプル(Tuple)の使い方(リストとの違いや検索方法など)

更新日:

タプルは読み取り専用のリストのようなものです。

リストとの違いは、タプルは読み取り専用ですので、一度格納された要素をリストのように変更、追加、削除することはできません。従って、変更されたくない値を格納するには、タプルの方が良いです。

またpythonで用意されている関数には、タプル型で値を渡す必要があったり、値を返してくるものがありますので、タプルを知っておく必要があります。

 

Pythonにおけるタプル(Tuple)の定義方法

タプルは、括弧 ()で囲んだ中に数値や文字列などの各要素をカンマ ‘,’で区切って記述します。

tuple = (‘abc’, 6, True)

タプルもリストと同じくインデックスを指定して要素を取得することができます。

 

それでは実際の例をいくつか見ていきましょう。

例1 タプルtuple1へ数値1、2、3を格納し、タプルに格納されたものを確認すると、結果(1, 2, 3)が表示され、正しく数値が格納できていることがわかります。

In [1]: tuple1 = (1 ,2 ,3)
...: tuple1

Out[1]: (1, 2, 3)

 

例2 タプルtuple2へ文字列'Hello'、'Good morning'、'Good afternoon'を格納し、タプルに格納されたものを確認すると、結果('Hello', 'Good morning', 'Good afternoon')が表示され、正しく文字列が格納できていることがわかります。

In [2]: tuple2 = ('Hello', 'Good morning', 'Good afternoon')
...: tuple2

Out[2]: ('Hello', 'Good morning', 'Good afternoon')

 

例3 タプルtuple3へ数値と文字列の混合 '田中'、'国語'、64を格納し、タプルに格納されたものを確認すると、結果('田中', '国語', 64)が表示され、正しく文字列と数値が格納できていることがわかります。

In [3]: tuple3 = ('田中', '国語', 64)
...: tuple3

Out[3]: ('田中', '国語', 64)

 

Pythonにおけるタプルのインデックス指定方法

タプルもリストと同じくインデックスを指定して要素を取得することができます。

インデックスの指定の仕方もリストと同じで、タプルへは各要素が順番に格納されているので、タプルから各要素を取得するには、インデックス(要素の順番)を指定します。

インデックスは0から始まります。また範囲を指定することもできます。

 

以下にインデックスの指定方法の例をいくつか記載します。リストと同じであることがわかります。

例1 インデックスは0から始まります。以下のようにタプルに格納した最初の要素を取得するには、0を指定して下さい。タプルもインデックスは[ ] 括弧に数値を入れて指定します。タプルtuple1の最初の要素を取得するには、tuple1[0]と記述します。

In [1]: tuple1 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple1[0]
Out[1]: 10

 

例2 インデックスは0から始まりますので、タプルtuple2の4番目の要素40を指定するには、次のようにインデックスに3を指定します。

In [2]: tuple2 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple2[3]
Out[2]: 40

 

例3 インデックスは数値の間に: コロンを用いて、範囲指定することもできます。但し、範囲で終了値に指定された値は含まれず、終了値-1までになります。タプルtuple3の3番目の要素30から5番目の50までを指定するには、次のようにインデックスに2:5を指定します。ここでは、終了値に指定されたインデックス5は含まれません。

In [3]: tuple3 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple3[2:5]
Out[3]: (30, 40, 50)

 

例4 インデックスの範囲の開始値が省略されると0番目からの指定になります。

In [4]: tuple4 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple4[:5]
Out[4]: (10, 20, 30, 40, 50)

 

例5 インデックスの範囲の終了値が省略されると最後までの指定になります。

In [5]: tuple5 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple5[4:]
Out[5]: (50, 60, 70, 80, 90, 100)

 

例6 インデックスは後ろからも指定することもできます。その場合は、最後から順に-1、-2、-3と指定していきます。以下ではタプルtuple6でインデックス-1を指定することにより、最後の値100を取得しています。

In [6]: tuple6 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple6[-1]
Out[6]: 100

 

例7 さらにインデックスは後ろからも範囲で指定することもできます。以下ではタプルtuple7でインデックス-5から-1を指定することにより、最後のから5番目の値60から最後の値100までを取得しています。

In [7]: tuple7 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
...: tuple7[-5:-1]
Out[7]: (60, 70, 80, 90)

 

Pythonのタプルへ格納した要素数の取得方法

タプルに格納されている要素数はlenを利用して取得することができます。

例えば、10から100までの10個の要素を格納したタプルtuple1について、lenを用いて要素数を確認すると10と表示されます。

In [1]: tuple1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
...: len(tuple1)
Out[1]: 10

 
 
著書の紹介です。


 

-08. タプル(Tuple)

Copyright© AI-interのPython3入門 , 2019 All Rights Reserved.