Python if文 or分岐がたくさんある場合

投稿者: | 2017年2月4日

if文で分岐するときにorの条件が多いとソースコードが見づらくなる。

そのため、以下のように書くと文字が少なくなり、楽になる。

# !/user/bin/env python
def main():
    list = [i for i in range(10)]
    print(list)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    for i in list:
        if i == 1:
            print('a:{}'.format(i))
        elif i == 2:
            print('a:{}'.format(i))
        elif i == 3:
            print('a:{}'.format(i))
        else:
            print(i)

    """
    0
    a:1
    a:2
    a:3
    4
    5
    6
    7
    8
    9
    """

    for i in list:
        if i in {1, 2, 3}:
            print('a:{}'.format(i))
        else:
            print(i)
    """
    0
    a:1
    a:2
    a:3
    4
    5
    6
    7
    8
    9
    """
if __name__ == '__main__':
    main()

あまり使う機会はないかもしれないけど、便利であると思う。

 

追記

switch文がないのは、あきらめるしかない。

ifとelifを使うしかない・・・

ダックタイピングを上手く使えばきれいになるのかな。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください