我想在Python中的两个值之间切换,即0到1之间。
例如,当我第一次运行一个函数时,它产生数字0。下一次,它产生1。第三次它返回零,依此类推。
抱歉,如果这样做没有道理,但是有人知道这样做的方法吗?
用途itertools.cycle():
itertools.cycle()
from itertools import cycle myIterator = cycle(range(2)) myIterator.next() # or next(myIterator) which works in Python 3.x. Yields 0 myIterator.next() # or next(myIterator) which works in Python 3.x. Yields 1 # etc.
请注意,如果您需要比更为复杂的周期[0, 1],那么此解决方案将比此处发布的其他解决方案更具吸引力。
[0, 1]
from itertools import cycle mySmallSquareIterator = cycle(i*i for i in range(10)) # Will yield 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 0, 1, 4, ...