Tom Anderson wrote: > Hi all, > > This is a little function to compare two iterators: > > > > def icmp(a, b): > for xa in a: > try: > xb = b.next() > d = cmp(xa, xb) > if (d != 0): > return d > except StopIteration: > return 1 > try: > b.next() > return -1 > except StopIteration: > return 0 > > > > It's modelled after the way cmp treats lists - if a and b are lists, > icmp(iter(a), iter(b)) should always be the same as cmp(a, b). > > Is this any good? Would it be any use? Should this be added to itertools?
Whilst not a total itertools-expert myself, I have one little objection with this: the comparison won't let me know how many items have been consumed. And I end up with two streams that lack some common prefix plus one field. I'm just not sure if there is any usecase for that. However, _if_ there is one, I'm all for adding it to itertools - it seems to be in the appropriate spirit. Regards, Diez -- http://mail.python.org/mailman/listinfo/python-list