Ich habe recherchiert und versuchte den folgenden Code. Es funktioniert fast, aber ich möchte nur die fortlaufenden Nummern im Ergebnis. Das wäre [100,101,102]. Ich will die [75], [78], [109] nicht im Ergebnis haben. So wählen Sie nur fortlaufende Nummern aus einer Liste mit Python
from operator import itemgetter
from itertools import groupby
data = [75, 78, 100, 101, 102, 109]
for k, g in groupby(enumerate(data), lambda (i,x):i-x):
print map(itemgetter(1), g)
Der Druck von oben aus ist:
[75]
[78]
[100, 101, 102]
[109]
Was können Ich tue nur [100, 101, 102]?
Wenn der erste Nummer war '77' statt' 75', möchtest du es auch? – zondo
'Filter (Lambda x: len (x)> 1)'? – Mephy
Vielleicht 'cons = map (itemgetter (1), g) 'und dann' if len (cons)> 1: cons drucken' – zondo