2009/10/22 Michele <mich...@nectarine.it> > 2009/10/19 Marco Beri <marcob...@gmail.com>: > > Questa versione non inserisce l'ultimo intervallo spurio da 0 eventi > attivi: > > > > Ancora due domande: > - volendo calcolare s1 or s2, come potrei fare? >
Non ho capito la domanda, s1 e s2 non sono forse i dati di input? > - inoltre: supponiamo che io ho un istante di termine per entrambi > s1ev e s2ev e lo chiamo END. > Quindi, nella conta degli eventi, devo inserire anche l'istante > dall'ultimo evento fino a END. Come lo posso fare? > s2ev = [(9154, 9307), (9340, 10442), (87361, 98214)] starts = sorted(s[0] for s in s1ev + s2ev) ends = sorted(s[1] for s in s1ev + s2ev) END = 99999999 actives = [[] for x in range(3)] actives[0] = [[0, END]] actives_count = 0 while ends: if starts and starts[0] < ends[0]: x = starts.pop(0) inc = 1 else: x = ends.pop(0) inc = -1 actives[actives_count][-1][1] = x actives_count += inc actives[actives_count].append([x, END]) Grazie > Prego. -- http://thinkcode.tv - Prossimamente su questi schermi http://beri.it - Blog di una testina di vitello http://stacktrace.it - Aperiodico di resistenza informatica
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python