Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> s="aaabbc"
>>> import itertools
>>> gs=itertools.groupby(s)
>>> for key, group in gs:
... print(key, group)
... print(list(group))
... print(key, group, list(group))
...
a <itertools._grouper object at 0x7fd246da3278>
['a', 'a', 'a']
a <itertools._grouper object at 0x7fd246da3278> []
b <itertools._grouper object at 0x7fd246da32e8>
['b', 'b']
b <itertools._grouper object at 0x7fd246da32e8> []
c <itertools._grouper object at 0x7fd246da39b0>
['c']
c <itertools._grouper object at 0x7fd246da39b0> []
Da der Code zeigte, ist es erstaunlich, was in über for-Schleife: in einer Iteration, der Schlüssel und das itertools._groupre Objekt nicht ändern, aber die Ergebnisse der Liste (Gruppe) geändert Genau. Die 2. Liste (Gruppe) hat keine. Ich kann einfach nicht herausfinden warum. WARUM? (Mein Englisch ist nicht so gut, ich hoffe, Sie können verstehen, was ich fragte)Iteration in Python3
Generatoren können ihre Werte * nur einmal * erzeugen. Wenn Sie 'None' nicht erhalten, erhalten Sie eine leere Liste, weil der' group' Generator durch den ersten 'list()' Aufruf erschöpft wurde. –