Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. class ArrIter:
  2. def __init__(self, arr):
  3. self.i = 0
  4. self.j = 0
  5. self.arr = arr
  6.  
  7. def __next__(self):
  8. # пока не дошли до конца arr
  9. while self.i < len(self.arr):
  10. if self.j < len(self.arr[self.i]):
  11. # следуюший элемент i-той ячейки
  12. self.j += 1
  13. return self.arr[self.i][self.j-1]
  14. else:
  15. # следующая ячейка
  16. self.j = 0
  17. self.i += 1
  18.  
  19. raise StopIteration
  20.  
  21.  
  22.  
  23. class Array:
  24. def __init__(self):
  25. self.arr = [[1],[],[3,5],[7]]
  26.  
  27. def __iter__(self):
  28. return ArrIter(self.arr)
  29.  
  30.  
  31.  
  32. a = Array()
  33. for i in a:
  34. print(i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement