文字列、リスト、rangeなどからタプルを作成する

文字列やリスト、rangeなど他のオブジェクトからタプルを作成する方法を解説します。

(Last modified: )

イテラブルなオブジェクトからタプルを作成する

タプル型のコンストラクタには引数にイテラブルなオブジェクトを指定してタプルのオブジェクトを作成するものがあります。

class tuple([iterable])

イテラブルなオブジェクトとはリストやタプル、文字列、辞書などです。

別のタプルからタプルを作成する

最初に別のタプルを引数に指定してタプルオブジェクトを作成してみます。

mytuple = ("A", "B", "C")
newtuple = tuple(mytuple);

print(newtuple)
>> ('A', 'B', 'C')

引数に指定したタプルと同じ要素を持つタプルが作成されました。なおタプルはイミュータブルなオブジェクトですので 2 つのタプルは同じオブジェクトとなりました。(詳しくは「mutableオブジェクトとimmutableオブジェクトでの is 演算子の結果の違い」を参照されてください)

文字列からタプルを作成する

次に文字列を引数に指定してタプルオブジェクトを作成してみます。

mytuple = tuple("Hello Python")
print(mytuple)
>> ('H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n')

引数に指定した文字列の 1 文字毎に 1 つの要素とした新しいタプルが作成されました。

リストからタプルを作成する

次にリストを引数に指定してタプルオブジェクトを作成してみます。

mytuple = tuple(["A", "B", "C"])
print(mytuple)
>> ('A', 'B', 'C')

引数に指定したリストの要素をコピーした新しいタプルが作成されました。

rangeからタプルを作成する

range型はコンストラクタで引数に指定した開始数から終了数までの連続した数値を持つオブジェクトです。

class range(stop)
class range(start, stop[, step])

start から stop までの連続した数値を要素として持ちます。 start を省略した場合は 0 が開始数です。

※ range 型について詳しくは「range関数の使い方(開始から終了までの連続した数値を要素として持つrange型オブジェクトを作成する)」を参照されてください。

range型のオブジェクトを引数に指定してタプルオブジェクトを作成してみます。

mytuple = tuple(range(10))
print(mytuple)
>> (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

0 から 9 までの連続した数値を要素として持つリストを作成することができました。

-- --

文字列やリスト、rangeなど他のオブジェクトからタプルを作成する方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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