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つの方法があります。リスト内包表記は、簡潔で効率的なリストの作成を可能にするため、適切な状況では積極的に使用することをお勧めします。
関連記事
- Pythonでリストに要素を追加(append, extend, insert)
- Pythonでリストから要素を削除(remove, pop, clear)
- Pythonでリストをソート(sort, sorted)
- Pythonでリストを逆順にする(reverse, スライス[::-1])
- Pythonでリストの要素を抽出(スライス, リスト内包表記)
- Pythonでリストの要素数を取得(len)
- Pythonでリストの要素を合計(sum)
- Pythonでリストの最大値・最小値を取得(max, min)
- Pythonでリストの要素を結合(join)
- Pythonでリストの要素を検索(in演算子, index, count)