1行でif文を書く/ラムダ関数でif文を使う【Python】

1行でIf文を

  • (真のときに返す値) if (条件) else (偽のときに返す値)
if a==b:
    print("等しい")
else:
    print("異なる")

上のif文を1行に書き換えると・・・

print("等しい") if a==b else print("異なる")

となります.

ラムダ関数でif文を使う

if文を1行で書くことによりラムダ関数でも使用できます!
ラムダ関数と合わせて用いると結構便利です.

例えばlist=[5,12,34,54,64,68]から3の倍数かどうかそれぞれ判定したい場合

list=[5,12,34,54,64,68]
Is_three_multiples = list(map(lambda x: 1 if x % 3 == 0 else 0,list))

Is_three_multiples=[0,1,0,1,0,0]という新しいリストが作成され,判別することができます.