私はいくつかのリストを持っており、私はそれを巡って探しています。問題は、一度に1つずつ要素を循環させることに興味がないことですが、私は一度にn
要素を循環させたいと思います。`Itertools.cycle`:複数のステップを踏む最もpythonicな方法?
>>> from itertools import cycle
>>> gen = cycle(l)
>>> next(gen, 4) # I know this doesn't work -- take as pseudocode
d
>>> next(gen, 3)
c
私は私のようなもので、これを達成することができます知っている:あなたはitertools.islice
を使用することができます
def generator_step(g, n):
for item in range(n):
next(g)
return item
は、4つのステップになるはずということですか? 2回目の呼び出しでは4ステップではありません。 – user2357112
@ user2357112 fixed、申し訳ありません – Newb
一定時間のジャンプについては、リストとインデックスを維持するだけです。 'itertools.cycle'イテレータでそれを得ることはできません。 ( 'collections.deque'とその' rotate'メソッドも考慮する価値がありますが、それは一定時間ではありません) – user2357112