シーケンス型のオブジェクトからリストを作成(list関数)

広告

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

list([sequence])

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

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

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

また引数にリストオブジェクトを指定した場合には、そのリストのコピーを作成して返します。

l = ["A", "B", "C"]
print list(l)         # ["A", "B", "C"]

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

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

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

サンプルコード

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

#coding: UTF-8

print list("ABC")
print list((20, 18))

l = ["PHP", "PERL"]
print list(l)

t = (74, 82, 59)
print t
tmplist = list(t)
tmplist.reverse()
t = tuple(tmplist)
print t

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

シーケンス型のオブジェクトからリストを作成(list関数)

( Written by Tatsuo Ikura )