タプル(tuple)の使い方
Table of contents
タプル( tuple
)は リスト( list
)と非常に似ていて値の並びを表現するデータ構造/コンテナ/コレクションだが、内容を変更することができない。内容を変更したくない定数的な値の並びを管理するときなどに使うとよい。
高度な操作を行う場合は list()
でlistに変換してしまえば listの使い方
で書いた処理が使えるので変換してしまうのがよい。
新しいtupleを作る
listでは []
で値をカンマで区切ってならべるとlistのリテラルを表現できたが、tupleでは ()
を使う。
tuple1 = (1, 2, 3)
empty_tuple = ()
tupleの長さを得る
listと一緒で組み込み関数 len()
を使う。
tuple1 = (1, 2, 3)
print(len(tuple1)) #=> 3
listをtupleに変換する
tuple()
で変換できる。
a = [1, 2, 3]
b = tuple(a) #=> (1, 2, 3)
tupleをlistに変換する
list()
で変換できる。
a = (1, 2, 3)
b = list(a) #=> [1, 2, 3]
tupleの内容を順番に処理する
listと同じでforで順番に処理できる。listと同様に enumerate
も使える。
a = (1, 2, 3)
# 順番に処理
for item in a:
print(item)
# enumerateでindexを一緒に得つつループ
for index, item in enumerate(a):
print("%d %s" % (index, item))
tupleの内容にアクセスする
listと同じ。
a = (1, 2, 3)
a[0] #=> 1
a[-1] #=> 3
a[1:] #=> (2, 3)
逆順にしたtupleを得る
組み込み関数 reversed()
で逆順に返すイテレータを tuple()
でtupleに変換するのが簡単。
a = (1, 2, 3)
b = tuple(reversed(a)) #=> (3, 2, 1)
tupleの内容を繰り返したtupleを作る
listと同じ。
a = (1, 2, 3)
b = a * 2 #=> (1, 2, 3, 1, 2, 3)