ich habe einen Iterator, der Listen mit zwei Elementen ausgibt, die nach dem ersten Element geordnet sind.
Wie kann ich diesen Iterator am besten in kleine Iterators aufspalten, die immer genau die Elemente ausgeben, die die gleiche Zahl vorne haben?
Code: Alles auswählen
myiterator = iter(
[[1,4124],
[1,12315],
[2,154123],
[4,5123],
[4,9582],
[4,12],
[7,923]])
def my_outer_iterator(my_inner_iterator):
more_input = True
next_item = next(my_inner_iterator)
while more_input:
my_list = []
current_number = next_item[0]
while current_number == next_item[0]:
my_list.append(next_item)
try:
next_item = next(my_inner_iterator)
except:
more_input = False
break
yield my_list
for foo in my_outer_iterator(myiterator):
print(foo)
