\

Pythonのリスト内包表記は、リストやタプルなどのイテラブルから変数を取り出し、式の中で操作をしてリストに格納します。特にifとelseを組み合わせたリスト内包表記は、コードの可読性と実行速度のバランスを取るための強力なツールです。

ifのみを使う場合

if文をリスト内包表記の後に持ってくることで、特定の条件を満たす要素だけを新しいリストに追加することができます。例えば、以下のコードは0から9までの数値の中で偶数だけを追加した新しいリストを作成します。

even_list = [i for i in range(10) if i % 2 == 0]

このコードは以下の通常のfor文と同等です。

even_list = []
for i in range(10):
    if i % 2 == 0:
        even_list.append(i)

ifとelseを使う場合

ifとelseを組み合わせたリスト内包表記では、if文をリスト内包表記の一番前に書く必要があります。以下のコードは、偶数のときはその数値を、奇数のときは”odd”を追加した新しいリストを作成します。

even_list = [i if i % 2 == 0 else "odd" for i in range(10)]

このコードは以下の通常のfor文と同等です。

even_list = []
for i in range(10):
    if i % 2 == 0:
        even_list.append(i)
    else:
        even_list.append("odd")

以上のように、Pythonのリスト内包表記は、コードの簡潔さと実行速度を向上させるための強力なツールです。しかし、複雑な条件を持つ場合や可読性を重視する場合は、通常のfor文を使用することをお勧めします。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です