コードを短く書くためのイディオムを紹介します。
if, else → 条件式
if, elseの構造の時、条件式に置き換えられる場合があります。条件式に置き換えることでコードを短くできます。
【改善前】
n = 2 if n%2 == 0: print("even") else: print("odd")
【改善後】
n = 2 print("even" if n%2 == 0 else "odd")
for文を使って辞書、リストを作成 → 内包表記
for文を使用して辞書、リストを作成している時、内包表記を使用して書ける場合があります。 内包表記を使用することでコードを短くできます。
下記では、リスト内包表記の例を示しています。
【改善前】
l = [1, 2, 3] l2 = [] for i, it in enumerate(l): l2.append((i, it)) print(l2) """出力 [(0, 1), (1, 2), (2, 3)] """
【改善後】
l = [1, 2, 3] l2 = [(i, it) for i, it in enumerate(l)] print(l2) """出力 [(0, 1), (1, 2), (2, 3)] """
参考
リスト内包表記:5. データ構造 — Python 3.9.4 ドキュメント
コメント