Python リスト内包表記の if...else

Muhammad Waiz Khan 2021年7月18日
Python リスト内包表記の if...else

このチュートリアルでは、Python の if ... else 文を使ってリスト内包を実行する複数の方法を説明します。リスト内包とは、既存のリストに基づいてリストを作成する短くて構文的な方法です。通常、現在のリストからフィルタリングされた新しいリストや変更されたリストを作成するために使用されます。

例えば、python のリスト ['Ali','Mark', None, 'Sara', None, 'Rahul'] があり、新しいリスト ['Ali','Mark', '', 'Sara', '', 'Rahul'] を作成したい場合、リスト内包を利用することで作成できます。

Python リスト内包表記の if…else

以下の例では、if ... else 文を用いたリスト内包を用いて既存のリストから変更されたリストを作成する方法を示しています。

my_list = ["Ali", "Mark", None, "Sara", None, "Rahul"]

new_list = [str(x.strip()) if x is not None else "" for x in my_list]
print(new_list)

出力:

['Ali', 'Mark', '', 'Sara', '', 'Rahul']

Python における if ... else を用いたリスト内包表記の一般的な構文は以下の通りです。

[f(x) if condition else g(x) for x in list]

リスト要素 x に対して condition が真ならば、該当する関数 f(x) が適用され、そうでなければ g(x) が適用されています。

コード例:

my_list = ["Ali", "Mark", None, "Sara", None, "Rahul"]

new_list = [x.upper() if x is not None else "" for x in my_list]
print(new_list)

出力:

['ALI', 'MARK', '', 'SARA', '', 'RAHUL']

関連記事 - Python List