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

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

(Last modified: )

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

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

class list([iterable])

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

別のリストからリストを作成する

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

mylist = ["A", "B", "C"]
newlist = list(mylist);
print(newlist)

>> ['A', 'B', 'C']

引数に指定したリストと同じ要素を持つリストが作成されました。なおリストのコピーが作成されるため、 2 つのリストは別々のオブジェクトとなります。

文字列からリストを作成する

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

mylist = list("Hello Python")
print(mylist)

>> ['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']

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

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

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

mylist = list(("A", "B", "C"))
print(mylist)

>> ['A', 'B', 'C']

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

rangeからリストを作成する

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

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

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

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

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

mylist = list(range(10))
print(mylist)

>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

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

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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