Pythonのif文でelseを使用したリスト内包表記

Pythonのif文でelseを使用したリスト内包表記について解説します。

リスト内包表記で、if文でelseを使用することができます。

■Python

Google Colaboratory(Google Colab),Python3.7.10

■if文でelseを使用したリスト内包表記を使用する

では、早速if文でelseを使用したリスト内包表記を使用してみます。

■コード

list_test = ['田中',None,'吉田','松岡',None,'佐々木']

new_list = [str(x.strip()) if x is not None else '' for x in list_test]

print(new_list)

今回は、list_testというリストを角括弧”[ ]”を用いて定義します。定義したリスト内に要素(文字列)と、None,何も存在しない状態(nullオブジェクト)を格納します。

その後、今度はnew_listというリストを角括弧”[ ]”を用いて定義します。定義したリスト内に処理を記述していきます。今回はlist_testを変数であるxに取り出します。この際に、リスト内包表記の式で評価されます。今回の式は、変数xをstrip()を用いて空白文字等を削除し、さらにstr()関数を用いて要素(数値)を文字列に変換するものです。

評価後、if文を用いてlist_test内にある「None」は、not演算を行い否定(ではない)され、False(偽)となります。False(偽)の場合には、else節の処理が実行されます。今回のelse節は、「None」が「’’」という空の要素になります。「None」が「’’」という空の値になり、new_listに格納されます。

最後に、new_listの情報をprint()関数で出力します。

■実行・検証

このコードを作成後、このコードを実行してみます。

実行してみると、リスト内包表記で、if-else文を用いたことで、今回定義したリスト内の要素から「None」を「’’」という空の要素に変更し、変更された要素が格納された新しいリストを、print()関数で出力させることができました。

コメント

タイトルとURLをコピーしました