※この記事にはプロモーションが含まれています。

08. タプル(Tuple)

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

更新日:

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

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

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

 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数10,000万本突破を記念して、今だけ期間限定で87%オフの大セール中!

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によるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数10,000万本突破を記念して、今だけ期間限定で87%オフの大セール中!

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

 
 
関連記事です。
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。

 

 
 
 
最後に...


Pythonの学習においては、実際に様々なプログラムを書いて試していくことが非常に重要です。Pythonについて、さらに詳しく学ばれたい方は、以下の私のUdemy講座をご検討いただければ幸いです。


Pythonを用いて世界中のWebサイトから自動的にデータ収集する方法を、基礎からていねいに学ぶことができます。Pythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。


>> Pythonによるビジネスに役立つWebスクレイピング
発売数9,000本突破を記念して大セール中!期間限定になりますのでお早めに。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)講座の画面

既に9,000名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割引クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   





-08. タプル(Tuple)

Copyright© ビジPy , 2024 All Rights Reserved.