python

【python】tuple(タプル型)

タプルはシーケンス型の1つで、リストと良く似ているよ

タプルとリストの違い

要素の変更ができるかどうかにあります。タプルは生成後、要素を変更することができません

<ipython-input-7-544b816ace13> in <module>()
3
4 # 要素を書き換えるとエラーが発生する
—-> 5 tp[0] = 0
TypeError: ‘tuple’ object does not support item assignment

タプル型は要素を変更できないのに何に役に立つか

ディクショナリのキーや、セットの要素にすることができます。setはリストを要素として登録することができません。なぜなら、リストをsetの要素として登録できるようにしてしまうと、他の要素と同じになってしまうとセットの要素が重複しないという条件を満たされなくなってしまうためタプルは変更ができないので、この制限を受けなくて済みます。同じ理由で、リストをディクショナリのキーとして登録することができません。登録を許すと重複したキーが登録できてしまうのでできなくっています。

タプル型の宣言方法

この丸括弧は省略することもできます
要素が1つのタプルを作る時は行末にカンマを残す 要素数が0個のタプルを作るときには丸括弧が必要になります。

要素数を取得する

要素数を取得する len() 関数はタプルにも利用できます。

 

要素を取得する