IT

Pythonのコードの書き方(タプル)

今回はリストと同じシーケンス型のオブジェクトであるタプルについて紹介します。タプルはリストと似たようなオブジェクトですが、こちらはどちらかというと静的配列に近いものとなっています。

特徴

タプルは『{値1,値2,値3,・・・}』というように記述します。タプルには以下のような特徴があります。

・タプルにはどんな型のオブジェクトでも格納できる(数値、文字列、リストなど)
・値はどんな型でも格納できる
・後から値を変更することができない

どんなオブジェクトでも格納できる

タプルは数値や文字列などだけでなく、リストなどのシーケンス型のオブジェクトを格納することができます。


>>> a = (1,2,3)
>>> a
(1, 2, 3)
>>> b = ('a','b','c')
>>> b
('a', 'b', 'c')

 

 値はなんでもOK

タプルの値にはどの型でも格納することが出来ます。


>>> a = (1,'a',"abc")
>>> a
(1, 'a', 'abc')

 

 タプルを新しくつくる

タプルを新しく作る場合は「直接指定してつくる」方法と「関数を使ってつくる」方法があります。

直接指定してつくる

冒頭のサンプルでもあるようにタプルは『(値1,値2,値3,・・・)』という記述をします。


>>> a = (1,2,3)
>>> a
(1, 2, 3)

また、タプルもスライスを使って範囲指定をして作ることも出来ます。


>>> a = (1,2,3,4,5)
>>> b = a[0:4:1]
>>> b
(1, 2, 3, 4)

 

関数を使ってタプルをつくる(tuple(シーケンス))

タプルを作る関数は『tuple(シーケンス)』関数を使います。引数にはリストなどを指定します。


>>> a = tuple([1,2,3,4,5])
>>> a
(1, 2, 3, 4, 5)

 

タプルの値を参照する

タプルの値を参照するにはインデックスを指定して値を呼び出します。

インデックスを指定して値を参照する

タプルの値の参照の仕方は『タプル[インデックス]』と指定します。


>>> a = (1,2,3,4,5)
>>> a[2]
3

 

タプルの値を更新する

タプルは値の更新をすることができないため、値を変更するメソッドが用意されていません。インデックスを指定して変更しようとするとエラーとなります。なお、リストとタプルを同時に扱ったオブジェクトの計算はリストにしか反映されません。


>>> a = (1,2,3,4,5)
>>> a[2] = 'a'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

 

タプルの値を削除する

タプルは値が変更できないオブジェクトであるため、値の削除もできません。ただし、タプル自体の削除は可能です。


>>> a = (1,2,3,4,5)
>>> del a[2]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object doesn't support item deletion

よくつかうもの

最後にタプルでよくつかうものをまとめました。リストと共通の関数などになっています。

値のインデックスを参照する(index関数)

値からインデックスを参照する(逆引きする)場合には『.index(検索する値、開始位置、終了位置)』を使います。以下のコードは0~9までのインデックスの値の中から5に該当するものがあればそのインデックスを戻り値として返しています。該当する値がない場合は、「valueError」が発生します。


>>> a = (1,2,3,4,5)
>>> a.index(3,1,4)
2

 

値の数を数える(count関数)

タプルの中に指定した値がどれだけあるかをカウントする関数です。これは『.count(数えたい値)』を使います。タプルの中の値の数を数えるわけではないので注意してください。


>>> a = (1,2,1,1,2)
>>> a.count(1)
3

 

指定した値が含まれているか調べる(検索する値 in タプル)

指定した値が含まれているかどうかを調べるには『検索する値 in タプル』を使います。戻り値はTrueかFalseとなります


>>> a = (1,2,3,4,5)
>>> 3 in a
True

 

タプルの長さを参照する(len関数)

タプルの中の数を数えるには『len(タプル)』を使います。for文やwhile文などで登場することが多々あるかと思います。


>>> a = (1,2,3,4,5)
>>> len(a)
5

まとめ

タプルのきほん

・他のプログラミング言語でいう静的配列
・値の変更はできない
・値はどんなオブジェクトでもOK

以上。