Александр Куров, вольный слушатель SeqJoin 9874
Роман Селевенко, 619/2 группа SeqJoin 9358
f1from itertools import compressf1from itertools import compress
22
3def joinseq(*seq):3def joinseq(*seq):
t4    seq = [iter(s) for s in seq]t4    seq_it = [iter(s) for s in seq]
5    tmp = [next(it) for it in seq]5    letters = [next(it) for it in seq_it]
6    t = list(compress(tmp, [el != -1 for el in tmp]))6    tmp = list(compress(letters, [el != -1 for el in letters]))
7    while len(t):7    while len(tmp):
8        m = min(t)8        min_val = min(tmp)
9        yield m9        yield min_val
10        idx = tmp.index(m)10        idx = letters.index(min_val)
11        tmp[idx] = next(seq[idx], -1)11        letters[idx] = next(seq_it[idx], -1)
12        t = list(compress(tmp, [el != -1 for el in tmp]))12        tmp = list(compress(letters, [el != -1 for el in letters]))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op