【Python】リストの作成
このページでは、Pythonにおけるリストの作成方法について、初心者にもわかりやすく丁寧に解説します。目次から各セクションにジャンプできます。
リストの基本的な作成方法
Pythonのリストは、複数の要素を順序付けて管理するデータ型です。以下に基本的な作成例を示します。
# 空のリストを作成
empty_list = []
# 初期値を持つリストを作成
numbers = [1, 2, 3, 4, 5]
words = ["apple", "banana", "cherry"]
# データ型が混在するリスト
mixed = [1, "apple", True, 3.14]
print(numbers) # 出力: [1, 2, 3, 4, 5]
print(mixed) # 出力: [1, 'apple', True, 3.14]
リストは角括弧 ([]
) を使用して作成し、カンマで各要素を区切ります。
リスト内包表記での作成
リスト内包表記を使うと、短いコードで効率的にリストを生成できます。
# 0から9までの整数を含むリストを作成
numbers = [x for x in range(10)]
print(numbers) # 出力: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 条件付きリストの作成
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # 出力: [0, 2, 4, 6, 8]
# 二重ループを使用したリスト
pairs = [(x, y) for x in range(3) for y in range(3)]
print(pairs) # 出力: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
リスト内包表記は、可読性と効率性を両立した強力なツールです。
動的にリストを作成する
プログラムの実行中にリストを動的に生成する方法をいくつか紹介します。
# 要素の追加
dynamic_list = []
dynamic_list.append(1)
dynamic_list.append(2)
dynamic_list.append(3)
print(dynamic_list) # 出力: [1, 2, 3]
# 別のリストを拡張
dynamic_list.extend([4, 5])
print(dynamic_list) # 出力: [1, 2, 3, 4, 5]
動的な操作には append()
や extend()
を使用します。
ネストされたリストの作成
リストの中にリストを含めることで、2次元や多次元データを表現できます。
# 2次元リスト
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[0]) # 出力: [1, 2, 3]
print(matrix[1][1]) # 出力: 5
# ネストされたリストを生成するリスト内包表記
nested_list = [[x for x in range(3)] for y in range(3)]
print(nested_list) # 出力: [[0, 1, 2], [0, 1, 2], [0, 1, 2]]
ネストされたリストを使用すると、より複雑なデータ構造を簡単に扱えます。
特別な方法でリストを作成する
Pythonにはリストを作成するための特別な方法もあります。
# list() 関数を使用
char_list = list("hello")
print(char_list) # 出力: ['h', 'e', 'l', 'l', 'o']
# 重複を排除したリストを作成 (set を使用)
unique_list = list(set([1, 2, 2, 3, 4, 4, 5]))
print(unique_list) # 出力: [1, 2, 3, 4, 5]
# 多数の同じ値を持つリストを作成
repeated_list = [0] * 10
print(repeated_list) # 出力: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
これらの方法を活用すると、状況に応じた柔軟なリスト作成が可能です。