mam listę liczb całkowitych ...lista grupa wskazówki przez ciągłą sekwencję
[1,2,3,4,5,8,9,10,11,200,201,202]
chciałbym grupa je na liście, gdzie każdy list podlistę zawiera liczby całkowite, których kolejność nie zostały złamane. Tak ...
[[1,5],[8,11],[200,202]]
mam raczej przylegający obejść ...
lSequenceOfNum = [1,2,3,4,5,8,9,10,11,200,201,202]
lGrouped = []
start = 0
for x in range(0,len(lSequenceOfNum)):
if x != len(lSequenceOfNum)-1:
if(lSequenceOfNum[x+1] - lSequenceOfNum[x]) > 1:
lGrouped.append([lSequenceOfNum[start],lSequenceOfNum[x]])
start = x+1
else:
lGrouped.append([lSequenceOfNum[start],lSequenceOfNum[x]])
print lGrouped
Jest to najlepsze co mogłem zrobić. Czy istnieje jakiś "pythonic" sposób to zrobić? Dzięki ..
myśleć o tym w kategoriach gdzie skoki są zamiast gdzie zakresy są. Możesz przechowywać wyniki w prostej tablicy int, gdzie każdy wpis jest indeksem odpowiadającym skokowi w oryginalnej tablicy. Myślę, że to jest prostsze ... i przy braku szansy, że będzie to wielokrotnego użytku lub kodu bibliotecznego można zamknąć to wszystko w działaniach klasy. – djechlin
Jestem prawie pewien, że jest to duplikat, chociaż nie mogę tego teraz szukać. – jamylak