Hi Jacob, In my view, in principle, all "iterators" should be indexable, (at least read-only), *unless *the underlying data is not indexable by nature, e.g. with data that comes from a stream... Doing `zip([1, 2], [2, 3])[1]` should probably just work.
I also think that for `Zip`s if the zipped collections are not indexable, then the "outer" getindex method should fail internally with a MethodError, on the "inner" getindex calls not implemented for the non-indexable collections. On Thursday, June 23, 2016 at 7:23:34 PM UTC+1, Jacob Quinn wrote: > > Sorry, to clarify a little: > > The things you're zipping are not necessarily indexable (i.e. other > iterators), so it's not safe to assume you can always index a Zip. > > On Thu, Jun 23, 2016 at 2:21 PM, Jacob Quinn <[email protected] > <javascript:>> wrote: > >> Most "iterator" types are not indexable, AFAIK. The typical >> recommendation/idiom is to just call `collect(itr)` if you need to >> specifically index. >> >> -Jacob >> >> On Thu, Jun 23, 2016 at 2:18 PM, Davide Lasagna <[email protected] >> <javascript:>> wrote: >> >>> Is there any particular reason why `Zip` objects are iterable but not >>> indexable? Python allows that. >>> >>> From previous discussion on the topic (2014 topic at >>> https://groups.google.com/forum/#!topic/julia-dev/5bgMvzJveWA) it seems >>> that it has not been implemented yet. >>> >>> Thanks, >>> >>> >>> >> >
