Skip to contents

If you are coming from packages iterators/itertools/itertools2, all functionality should be preserved, but some may be under different names. Here’s a short transition guide:

iterators/itertools iteror function
iterators::iapply(array, margin) iteror(array, by=margin)
iterators::recycle i_recycle
itertools::ifilter(pred, iterable) i_keep(iterable, pred)
itertools::ifilterfalse(pred, iterable) i_drop(iterable, pred)
itertools::isplitCols(obj, ...) iteror.array(obj, by="column", ...)
itertools::isplitIndices(n, ...) icount(n, ...)
itertools::isplitRows(obj, ...) iteror.array(obj, by="row", ...)
itertools::isplitVector(n, ) iteror.default(n, ...)
itertools::product igrid
itertools::recycle(iter) i_recycle(iter)
itertools::recycle(function() {...}, times=N) iteror(function() {...}, count=N)
itertools::timeout(secs) i_timeout(secs)
itertools2::icompress i_mask
itertools2::icount(start=1, step=3, stop=15) iseq(from=1, to=15, by=3)
itertools2::icycle i_recycle
itertools2::idropwhile(pred, iterable) i_dropwhile(iterable, pred)
itertools2::ifilter(pred, iterable) i_keep(iterable, pred)
itertools2::ifilterfalse(pred, iterable) i_drop(iterable, pred)
itertools2::ilength count(obj)
itertools2::imap(f, it) i_apply(it, f) or i_map(f, it1, it2, ...)
itertools2::ipairwise(it) i_window(it, 2)
itertools2::iproduct igrid
itertools2::irep_len i_rep(length.out=n)
itertools2::iseq_len icount
itertools2::iseq_along(x) icount(length(x))
itertools2::itakewhile(pred, iterable) i_keepwhile(iterable, pred)
itertools2::itripletwise(it) i_window(it, 3)
itertools2::iunique_lastseen() i_dedup()

Other notes:

  • checkFunc arguments have been removed; instead use i_keep().