python设置循环范围_python给指定范围内循环变量方法是?
Hi,在python中有简单的写法可以让我在给定范围内往复循环一个变量吗?
如,给定range(4),我希望变量像这样变化:
0,1,2,3,2,1,0,1,2,3....直到变化指定的次数或者其它条件满足为止。
只是整数的话,直接取余就行pythonimport itertools
def bounce(interval):
"""Infinite bounce for specific range list."""
down = reversed(interval[1:-1])
return itertools.cycle(itertools.chain(interval, down))
# >>> list(itertools.islice(bounce(range(5)), 20))
# [0, 1, 2, 3, 4, 3, 2, 1, 0, 1, 2, 3, 4, 3, 2, 1, 0, 1, 2, 3]
itertools.cycle(iterable)
Make an iterator returning elements from the iterable and saving a copy of each. When the iterable is exhausted, return elements from the saved copy. Repeats indefinitely. Equivalent to:def cycle(iterable):
# cycle('ABCD') --> A B C D A B C D A B C D ...
saved = []
for element in iterable:
yield
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
