Pythonにはリスト内包表記という便利な機能があります。この機能を使うことで、簡潔なコードでリストを生成することができます。しかし、リスト内包表記を使う際には注意が必要です。特に、ネストされたリスト内包表記を使う場合は、可読性が低下する可能性があります。以下に、リスト内包表記を使って遊ぶいくつかの例を紹介します。

奇数のリストを生成する

以下のコードは、0から9までの整数のうち、奇数のみを含むリストを生成します。

odd_numbers = [x for x in range(10) if x % 2 != 0]
print(odd_numbers)

出力:

[1, 3, 5, 7, 9]

リスト内包表記のネスト

リスト内包表記は、他のリスト内包表記を含むことができます。以下のコードは、2次元リストを生成する例です。

matrix = [[i+j for i in range(3)] for j in range(3)]
print(matrix)

出力:

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

条件付き式を使ったリスト内包表記

リスト内包表記では、ifを使って条件式を指定することができます。以下のコードは、リスト内の要素が3の倍数であれば、その値を3で割った結果を含むリストを生成します。

numbers = [1, 3, 6, 7, 9, 12, 15]
result = [x//3 for x in numbers if x%3==0]
print(result)

出力:

[1, 4, 5]

以上が、Pythonのリスト内包表記を使った遊び方の例です。リスト内包表記を使うことで、簡潔なコードでリストを生成することができますが、ネストされたリスト内包表記を使う場合には、可読性が低下する可能性があるため、注意が必要です。