def merge(a,b): for aa in a: for bb in b: if bb>=aa: break yield bb yield aa for aa in a: if aa>bb: break yield aa yield bb for bb in b: yield bb a=iter([3,5,7,9,11,13,15]) b=iter([1,2,4,6,12,14,16,17]) c=merge(a,b) print list(c)Nejen ze funguje na jakekoli iteratory, tedy i treba radky ve 2 souborech, ale bude patrne i rychlejsi.