イテレータの一部をスキップしたい
1, 2, 3, 4, .. とカウントアップしていくイテレータを少しいじって,例えば,3を含む数字はスキップしたい場合,どう実装したらいいのか教えていただけますでしょうか?
イテレータの実装例
https://qiita.com/propella/items/32cf705a6eeb42a04d86より引用
Python3
1class Counter(): 2 3 def __init__(self, max_): 4 self.count = 0 5 self.max_ = max_ 6 7 def __iter__(self): 8 return self 9 10 def __next__(self): 11 self.count += 1 12 if self.count <= self.max_: 13 return self.count 14 raise StopIteration() 15
の,def __next__(self)
の部分だと思いますが,
def __next__(self): self.count += 1 # ここに何らかの処理? # if self.count.has_3(): # skip .. ?? if self.count <= self.max_: return self.count raise StopIteration()
みたいなことをやりたいのですが,どうしたら良いでしょうか.
よろしくお願いいたします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/09 14:58