Arnaud Delobelle <arno...@googlemail.com> writes: > Another way would be: > > def equal_items(iter1, iter2, key=lambda x: x): > iter1, iter2 = iter(iter1), iter(iter2) > for x, y in izip(iter1, iter2): > if key(x) != key(y): > return False > for x, y in izip_longest(iter1, iter2): > return False > return True > > (untested)
Or even: def equal_items(iter1, iter2, key=lambda x: x): iter1, iter2 = iter(iter1), iter(iter2) for x, y in izip(iter1, iter2): if key(x) != key(y): return False return not any(izip_longest(iter1, iter2)) (untested) Or even: def equal_items(iter1, iter2, key=lambda x: x): iter1, iter2 = iter(iter1), iter(iter2) if any(key(x) != key(y) for x, y in izip(iter1, iter2)): return False return not any(izip_longest(iter1, iter2)) -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list