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()関数で出力させることができました。
コメント