Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- list = [0,0,0,1,2,3,4,0,0,0,5,6,7,8,9,0,0,0]
- class IteratorWithoutZeros:
- def __init__(self, my_list):
- self.list = my_list
- self.max = len(self.list)
- self.actual_position = 0
- def __next__(self):
- self.actual_position = self.actual_position + 1
- while self.list[self.actual_position] == 0:
- self.actual_position = self.actual_position + 1
- if self.actual_position == self.max:
- raise StopIteration
- return self.list[self.actual_position]
- def __iter__(self):
- return self
- class FullIterator:
- def __init__(self, my_list):
- self.list = my_list
- self.max = len(self.list)
- self.actual_position = 0
- def __next__(self):
- self.actual_position = self.actual_position + 1
- if self.actual_position == self.max:
- raise StopIteration
- return self.list[self.actual_position]
- def __iter__(self):
- return self
- iterator_without_zeros = IteratorWithoutZeros(list)
- full_iterator = FullIterator(list)
- without_zeros_list = []
- full_list = []
- for i in iterator_without_zeros:
- without_zeros_list.append(i)
- for i in full_iterator:
- full_list.append(i)
- print("Pełna lista: " + str(full_list))
- print("Lista bez zer: " + str(without_zeros_list))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement