Tips

今日の開発Tips(2025-08-21)

リスト内包表記を使うことで、ループ処理を簡潔に記述し、コードの可読性と実行速度を向上させることができます。 リスト内包表記は、既存のリストから新しいリストを作成する際に、forループと条件分岐を一行で表現できる強力なツールです。適切に使うことで、コードの冗長性を減らし、バグの発生リスクも低減できます。

リスト内包表記による効率的なリスト生成

リスト内包表記は、[expression for item in iterable if condition] の構文で記述します。 expression は各要素に対する処理、item は反復可能なオブジェクト(リストなど)の要素、condition はオプションの条件式です。

例1: 偶数のリストを作成

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)  # 出力: [2, 4, 6, 8, 10]

例2: 文字列の長さを要素とするリストを作成

words = ["apple", "banana", "cherry"]
word_lengths = [len(word) for word in words]
print(word_lengths)  # 出力: [5, 6, 6]

例3: 二次元リストの平坦化

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [item for row in matrix for item in row]
print(flat_list)  # 出力: [1, 2, 3, 4, 5, 6, 7, 8, 9]

注意点:

  • リスト内包表記は複雑な処理には向いていません。可読性を優先し、複雑な処理は通常のforループを使用しましょう。
  • リスト内包表記で非常に大きなリストを生成すると、メモリ不足になる可能性があります。必要に応じてジェネレータ式を使用しましょう。

おすすめポイント:

リスト内包表記は、リストの生成を簡潔に記述できるため、コードの可読性を向上させ、潜在的なバグを減らすのに役立ちます。 特に、簡単なリスト操作を行う際に非常に効果的です。