カネキン伊藤テック

タプル(tuple)の使い方

タプル( 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)

参考リンク