PYTHON MEBY

Pythonでリストを作成(list, リスト内包表記)

この記事では、Pythonでリストを作成する2つの主要な方法、リストとリスト内包表記について説明します。それぞれの方法の構文、利点、そして使用例を示します。

目次

リストの作成

Pythonでリストを作成するには、角括弧`[]`の中に要素をカンマで区切って記述します。要素には、数値、文字列、その他のデータ型を含めることができます。

empty_list = []
number_list = [1, 2, 3, 4, 5]
string_list = ['apple', 'banana', 'cherry']
mixed_list = [1, 'apple', 2.5, True]

リストの要素は、インデックスを使ってアクセスできます。インデックスは0から始まります。

number_list = [1, 2, 3, 4, 5]
print(number_list[0])  # 出力: 1
print(number_list[2])  # 出力: 3

リスト内包表記

リスト内包表記は、リストを作成する簡潔な方法です。forループと条件文を組み合わせて、新しいリストを生成します。

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers] # 各要素の2乗
print(squares) # 出力: [1, 4, 9, 16, 25]
even_numbers = [x for x in numbers if x % 2 == 0] # 偶数のみ
print(even_numbers) # 出力: [2, 4]

リスト内包表記は、forループとif文を組み合わせることで、より複雑なリストを作成することもできます。

words = ['hello', 'world', 'python']
capitalized_words = [word.capitalize() for word in words]
print(capitalized_words) # 出力: ['Hello', 'World', 'Python']

リスト内包表記の応用

リスト内包表記は、多次元リストの作成にも使用できます。

matrix = [[i * j for j in range(3)] for i in range(3)]
print(matrix) # 出力: [[0, 0, 0], [0, 1, 2], [0, 2, 4]]

さらに、複数のforループやif文を組み合わせることで、より複雑な条件でリストを生成することも可能です。

numbers = range(1, 11)
even_squares = [x**2 for x in numbers if x % 2 == 0]
print(even_squares)  # 出力: [4, 16, 36, 64, 100]

まとめ

Pythonでは、リストを作成する際にリストとリスト内包表記の2つの方法があります。リスト内包表記は、簡潔で効率的なリストの作成を可能にするため、適切な状況では積極的に使用することをお勧めします。

関連記事