Pythonにおける**リスト(list)**は、複数のデータを順序付けて格納できる、非常に強力で柔軟なデータ型です。リストに格納された各データ(要素)は、後から変更、追加、削除が可能です(ミュータブル)。
数値の集まり、ユーザー名の集まり、あるいは異なるデータ型(数値、文字列、ブール値)の混在など、様々なデータをまとめて扱うために使用されます。
この記事では、Pythonでリストを作成する2つの基本的な方法、[](角括弧)と list() コンストラクタについて解説します。
1. [] (角括弧) を使ったリストの作成
最も一般的で直感的なリストの作成方法は、[](角括弧)で要素を囲み、各要素をカンマ(,)で区切る方法です。
同一のデータ型を持つリスト
# 数値(int)のリスト
scores = [80, 95, 72, 88]
# 文字列(str)のリスト
user_names = ["sato", "suzuki", "tanaka"]
print(scores)
print(user_names)
実行結果:
[80, 95, 72, 88]
['sato', 'suzuki', 'tanaka']
異なるデータ型を混在させたリスト
Pythonのリストは、数値、文字列、ブール値など、異なるデータ型を同時に格納できます。
# 文字列、数値、ブール値を混在
user_data = ["Yamada", 45, False]
print(user_data)
実行結果:
['Yamada', 45, False]
空のリストの作成
要素を何も持たない、空のリストを作成することもできます。これは、後からデータを追加していくプログラムでよく使われます。
# 空のリスト
item_list = []
print(item_list)
実行結果:
[]
2. list() コンストラクタを使ったリストの作成
もう一つの方法は、list() という組み込みのコンストラクタ(関数のようなもの)を使用する方法です。
空のリストの作成
[] と同様に、list() を引数なしで呼び出すと空のリストが作成されます。
# list() で空のリストを作成
empty_list_via_constructor = list()
print(empty_list_via_constructor)
実行結果:
[]
イテラブル(反復可能オブジェクト)からの作成
list() コンストラクタの主な用途は、文字列(str)や range() のような、他の「イテラブル(要素を一つずつ取り出せるオブジェクト)」をリストに変換することです。
文字列からリストを作成
文字列を list() に渡すと、1文字ずつに分解されたリストが作成されます。
# 文字列 "Python" をリストに変換
char_list = list("Python")
print(char_list)
実行結果:
['P', 'y', 't', 'h', 'o', 'n']
range() からリストを作成
range()(連続した数値を生成するオブジェクト)と組み合わせると、連続した数値のリストを簡単に作成できます。
# 101から103まで (104の手前まで) の数値リストを作成
id_list = list(range(101, 104))
print(id_list)
実行結果:
[101, 102, 103]
まとめ
Pythonでリストを作成する2つの方法を解説しました。
[](角括弧):[80, 95]や[]のように、直接要素を指定してリストを作成する最も一般的な方法です。list()コンストラクタ:list()で空のリストを作成することもできますが、主にlist("Python")やlist(range(10))のように、他のイテラブルなオブジェクトをリストに変換する際に使用されます。
