Ich habe ein kleines kniffliges Problem. Ich komm grad nicht drauf, wie ich das am besten lösen kann, auch weil ich schon länger nicht mehr sowas gemacht habe.
Ich habe eine liste von tupeln:
z.B. so:
Code: Alles auswählen
x = [(13, 27), (40, 47), (50, 68), (243, 247), (257, 270)]
Ich will jetzt tupel zusammenfassen, wenn sie weniger als ein bestimmter wert (mal gap genannt) getrennt sind
Code: Alles auswählen
x[i+1][0] - x[i][1] <= gap
Code: Alles auswählen
[(13, 68), (243, 270)]
Ich denke, dass das eigentlich recht einfach sein sollte, aber wie gesagt, ich komm momentan nicht weiter.
Code: Alles auswählen
def join_tuples(tlist, gap):
for i in range(len(tlist)-1):
if tlist[i+1][0]-tlist[i][1] <= gap:
f= tlist[:i]
e= tlist[i+2:]
new_list = f
new_list.append((tlist[i][0], tlist[i+1][1]))
new_list.extend(e)
join_tuples(new_list, gap)
else:
print i, len(tlist), tlist
return tlist
break
else:
continue