タプルを作成する

タプルを新しく作成する方法について解説します。タプルには複数の要素が含まれますが、要素に対して値を指定して作成する方法の他に、変数を指定したり同じ要素を指定した個数繰り返すタプルを作成することができます。

(Last modified: )

値を指定してタプルを作成する

タプル型は ( から ) までの間に複数の要素をカンマ(,)で区切って定義します。書式は次のとおりです。

(要素1, 要素2, ...)

要素が 1 つだけの場合はカンマを付けてください。

(要素1,)

厳密には ( と ) は省略可能です。複数の要素をカンマで区切ることでタプルを定義できます。

t = 要素1,
t = 要素1, 要素2, ...

見分けがつきにくいためこのサイトでは必ず ( と ) を記載します。

要素には数値や文字列など Python で扱えるオブジェクトであれば何でも指定することができます。

(7, 8, 6, 5, 9)
("Orange", "Lemon", "Apple")

同じタプルで要素毎に異なるデータ型のオブジェクトを指定することができます。

(30, "Tokyo", "Suzuki", True)

要素には別のタプルを指定することができます。

("A", ("B", "C"), "D")

要素が空のタプルを作成することができます。

()

作成したタプルは数値や文字列のように変数に代入して利用することができます。

colortuple = ("White", "Black", "Red")

変数に代入された値を要素として指定する

値を指定してタプルを作成するときに、値を直接入力するかわりに値が代入された変数を指定してタプルを作成することができます。

x = 9
y = 18
numtuple = (x, y)
print(numtuple)

>> (9, 18)

要素に変数名を指定した場合、要素には変数の参照が設定されるのではなくタプルの作成時に変数に代入されていた値が直接記述されたのと同じ扱いとなります。その為、先ほどのタプルは次のように作成したものとまったく同じです。

numlist = (9, 18)
print(numlist)

>> (9, 18)

タプルを作成したあとに変数に別の値を代入しても、タプルの要素は変更されません。

x = 9
y = 18
numtuple = (x, y)
print(numtuple)

>> (9, 18)

x = 20
print(numtuple)

>> (9, 18)

要素を指定した個数繰り返すタプルを作成する

例えば特定の値を持つ要素を指定した個数持つようなタプルを作成する場合、次のように行うことができます。(タプルで要素が1つだけの場合はカンマが必要な点に注意してください)。

タプル = (要素,) * 個数

例えば数値の 0 を持つ要素が 10 個あるタプルを作成するには次のように行います。

numtuple = (0,) * 10
print(numtuple)

>> (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

タプルはリストと異なり要素の値をあとから変更することができませんのであまり使われることはないかもしれません。

なお繰り返す要素に他のタプルを指定した場合、タプルを持つ要素を指定した個数持つ新しいタプルを作成するのではなく、タプルに含まれる要素を指定した個数分繰り返した新しいタプルを作成します。

numtuple = (10, 20, 30) * 3
print(numtuple)

>> (10, 20, 30, 10, 20, 30, 10, 20, 30)

-- --

タプルを作成する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。