Almost every day I write code that uses itertools, so I find it very useful, and its functions fast. Removing useless things and keeping things tidy is often positive. But I can't tell you what to remove. Here are my usages (every sub-list is sorted by inverted frequency usage):
I use often or very often: groupby( iterable[, key]) imap( function, *iterables) izip( *iterables) ifilter( predicate, iterable) islice( iterable, [start,] stop [, step]) I use once in while: cycle( iterable) chain( *iterables) count( [n]) repeat( object[, times]) I have used probably one time or few times: starmap( function, iterable) tee( iterable[, n=2]) ifilterfalse( predicate, iterable) Never used so far: dropwhile( predicate, iterable) takewhile( predicate, iterable) Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list