シーケンス型のオブジェクトからタプルを作成(tuple関数)

広告

文字列やリストなどのシーケンス型のオブジェクトからタプルを作成する方法を確認します。組み込み関数の「tuple」を使います。

tuple([sequence])

引数に指定したシーケンス型のオブジェクトが持つ要素を持ち、同じ順序で並ぶタプルを作成します。

具体的には次のように記述します。

print tuple("ABC")      # ("A", "B", "C")
print tuple([20, 18])   # (20, 18)

また引数にタプルオブジェクトを指定した場合には、そのタプルそのものを返します。

t = ("A", "B", "C")
print tuple(t)         # ("A", "B", "C")

タプルを作成する「tuple」関数と、リストを作成する「list」関数を使うことで、本来ソート機能が無いタプルを一度リストに変換してからソートし、改めてタプルを作成するといったことが可能になります。

t = ("B", "C", "A")
tmplist = list(t)
tmplist.sort()
t = tuple(tmplist)
print t            # ("A", "B", "C")

「list」関数については「シーケンス型のオブジェクトからリストを作成(list関数)」を参照して下さい。

サンプルコード

では実際に試してみます。

#coding: UTF-8

print tuple("ABC")
print tuple([20, 18])

t = ("PHP", "PERL")
print tuple(t)

t = ("B", "C", "A")
tmplist = list(t)
tmplist.sort()
t = tuple(tmplist)
print t

上記を「test6-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

シーケンス型のオブジェクトからタプルを作成(tuple)

( Written by Tatsuo Ikura )