Python: タプルを作成する方法

Pythonでタプルを作成する方法を解説します。
タプルとは順序付けられた複数の構成要素からなる組の事です。

タプルを作成する場合は丸括弧()の中に値(要素)をカンマ区切りで記述します。 リストは角括弧[]ですが、タプルは丸括弧()です。

書式
タプル名 = (値1, 値2, 値3)

タプルの具体的な作成例は次の通りです。 3番目の t3のように型の異なる要素がまじっていても構いません。

t1 = (1, 2, 3, 4, 5)

t2 = ("a", "b", "c")

t3 = ("a", 1, "b", 2)

要素が1つの場合、カンマが必要

要素が1つのタプルを作成する場合、 要素の後ろにカンマ「,」を付ける必要があります。 カンマが無いとタプルではなく単独の値(intやstr等)と判断されてしまいます。

次のサンプルコードでは、要素が1つで、カンマ有りとカンマ無しの場合を比べています。 変数 t1は tupleと解釈されていますが、t2は intと解釈されています。

t1 = (1,)  # カンマ有り
t2 = (1)   # カンマ無し

print(type(t1))  # <class 'tuple'>
print(type(t2))  # <class 'int'>

空のタプルを作成する

空のタプルを作成する場合は () だけ、又はtuple()と記述します。

# 空のタプルを作成
t = ()

t = tuple()

タプルの要素数が多い場合の記述方法

タプルの要素数が多い場合、1行で無理やり書くと見にくくなります。 その場合は複数行にして書くことができます。

t = ("abcde", "fghijk", "lmnop",
	"qrstt", "vwxyz", "abcdefg",
	"hijklmn", "opqustu")
	
print(len(t))  # 8

Pythonの言語仕様上、文の途中で改行する場合は「\」記号を付けますが、 []・()・{}の中では「\」記号を付けることなく自由に改行できます。 ですから上のような記述が可能になります。

tuple()で作成する

タプルコンストラクタのtuple()を使って作成することもできます。

書式
tuple(イテラブルなオブジェクト)

引数はイテラブルなオブジェクトです。 引数として単純に「"a", "b", "c"」と指定してもエラーとなります。 "abc"を指定した場合は("a", "b", "c")のタプルが作成されます。

次のサンプルコードはtuple()を使った具体的なタプル作成例です。

# エラーとなる指定方法
t1 = tuple("a", "b", "c")  # エラー

# 文字列を指定
t2 = tuple("abc")
print(t2)  # ('a', 'b', 'c')

# タプルを指定
t3 = tuple(("a", "b", "c"))
print(t3) # ('a', 'b', 'c')

# リストを指定
t4 = tuple(["a", "b", "c"])
print(t4) # ('a', 'b', 'c')

# 空のタプル
t5 = tuple()
print(t5) # ()
Python