\

Pythonのリスト内包表記は、リストを生成する際に非常に便利な機能です。特に、if-else文と組み合わせることで、より複雑なリストを簡潔に生成することが可能になります。

リスト内包表記とif文

Pythonのリスト内包表記は、for文よりも実行速度が速く、appendを呼び出さないためによく使用されます。しかし、その一方でコードの可読性を著しく損なうという副作用があります。

例えば、以下のコードは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文をリスト内包表記の後に持ってくるのがポイントです。

リスト内包表記とif-else文

次に、if-else文を使ったリスト内包表記について見てみましょう。以下のコードは、偶数のときは数字、奇数のときは “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")

この場合、if-else文をリスト内包表記の一番前に書く必要があります。

以上がPythonのリスト内包表記とif-else文の基本的な使い方です。これらを理解し、適切に使用することで、Pythonのコードをより効率的に書くことができます。

投稿者 admin

コメントを残す

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