コードを短く書くためのイディオムを紹介します。
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 ドキュメント

コメント