# Cycle over list indefinitely

You can use `itertools.cycle`

, to cycle around the values in `a`

, `b`

and `c`

as specified:

```
from itertools import cycle
for i in cycle([a,b,c]):
print(f'x: {i}')
```

** Output **

```
x: 1
x: 2
x: 0
x: 1
x: 2
x: 0
x: 1
x: 2
x: 0
x: 1
...
```

You could use `cycle()`

and call `next()`

as many times as you want to get cycled values.

```
from itertools import cycle
values = [1, 2, 3]
c = cycle(values)
for _ in range(10):
print(next(c))
```

Output:

```
1
2
3
1
2
3
1
2
3
1
```

or as @chepner suggested without using `next()`

:

```
from itertools import islice
for i in islice(c, 10):
print(i)
```

To get the same result.

this is what `itertools.cycle`

does

```
import itertools,time
for i in itertools.cycle([1,2,3]):
print(i)
time.sleep(1)
```