# Iterate through iterator starting and ending at a specified value

**URL:** <https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444>\
**Category:** General Usage\
**Created:** [October 8, 2021, 4:38pm UTC](https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444 "2021-10-08T16:38:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [October 8, 2021, 4:38pm UTC](https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444/1 "2021-10-08T16:38:03Z")

</div>

I have an iterator. How do I iterator through a selection of it?

E.g.

```julia
it = Iterators.product([[1,2,3],[1,2]]...)
foreach(x->println(x),it)

```

iterates through all 6 values. But say I want to iterate starting with the 2nd value and end with the 5th value. How do I do that?

---

<div class="post-metadata">

**Author:** ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)\
**Post date:** [October 8, 2021, 5:07pm UTC](https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444/2 "2021-10-08T17:07:45Z")

</div>

It’s a bit clumsy, but something like this:

```julia
julia> dropends(it, start, stop) = Iterators.drop(Iterators.take(it, stop), start - 1)
dropends (generic function with 1 method)

julia> foreach(println, dropends(it, 2, 5))
(2, 1)
(3, 1)
(1, 2)
(2, 2)

```

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [October 8, 2021, 5:20pm UTC](https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444/3 "2021-10-08T17:20:11Z")

</div>

Thanks 🙂

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [October 8, 2021, 5:25pm UTC](https://discourse.julialang.org/t/iterate-through-iterator-starting-and-ending-at-a-specified-value/69444/4 "2021-10-08T17:25:16Z")

</div>

(Bonus thanks for showing that `foreach(x->println(x),it)` and `foreach(println,it)` are equivalent!)
