[Python]環状リストを作る
pythonで環状リストってどうやるんだろ・・・と思っていたら、ぱっとこんな記事が見つかった。神かよ。
って事で、これを参考に作ってみた。
色々機能を追加してたら環状かつ双方向のリストになった。
初期位置にリセットする機能もついてる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class cycle: def __init__(self, list): self.i = 0 self.list = list def next(self): self.i = (self.i + 1) % len(self.list) return self.list[self.i] def previous(self): self.i = (self.i - 1 + len(self.list)) % len(self.list) return self.list[self.i] def present(self): return self.list[self.i] def reset(self): self.i = 0 return |
試しに使ってみた結果は以下の通り。
イイ感じに動いた。
この記事へのコメントはこちら