python コードを短く書くためのイディオム

コードを短く書くためのイディオムを紹介します。

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 ドキュメント

辞書内包表記:6. 式 (expression) — Python 3.9.4 ドキュメント

コメント

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