The previous one was potentially misleading if you were focussed on the actual numbers (0 is even, not odd! etc.), and 99% of the time you’re going to be passing loop.index0 into cycle, so I felt that should be included in the example.
.. code-block:: jinja
- {% for i in 0..10 %}
- {{ cycle(['odd', 'even'], i) }}
+ {% set start_year = date() | date('Y') %}
+ {% set end_year = start_year + 5 %}
+
+ {% for year in start_year..end_year %}
+ {{ cycle(['odd', 'even'], loop.index0) }}
{% endfor %}
The array can contain any number of values: