This page looks best with JavaScript enabled

reversed(range(N))をrange(N, reverse=True)と書く

 ·   ·  ☕ 1 min read  ·  🐶 odanny · 👀... views

reversed(range(N))って書きにくくない?

逆順にforを回したいとき、reversedで囲むのがだるい

1
2
for i in reversed(range(N)):
    print(i)

とはいえ以下の書き方はなんとなく技巧的で読みにくい感じがする

1
2
for i in range(N-1, -1, -1):
    print(i)

とか

1
2
for i in range(N)[::-1]:
    print(i)

sortみたいにreversed=Trueでかけたら便利かと思って試した。

1
2
3
# いめーじ
for i in range(N, reverse=True):
    print(i)

実装例

1
2
3
4
5
6
7
8
def mrange(*args, reverse=False):
    if not reversed:
        return range(*args)
    return reversed(range(*args))


for i in mrange(10, reverse=True):
    print(i)

もともとのrangeはそのままにして、mrangeという名前にしてみた。

わざわざつくるほど便利かは微妙。。。

Share on

odanny
WRITTEN BY
odanny
自作キーボードはまり中