Python for循环,从2到10开始,然后覆盖0和1

Ema*_*max 1 python loops list

我正在寻找以下问题的简单解决方案.

我们在python中有这种用法的for -loop吗?

[2,3,4,5,6,7,8,9,0,1]
Run Code Online (Sandbox Code Playgroud)

我有一个使用while -loop 的实现:

i = 2
while True:
    i = i%9
    if i == 1:
        break
    # payload code here
    i+=1
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 7

for i in (2, 3, 4, 5, 6, 7, 8, 9, 0, 1):
Run Code Online (Sandbox Code Playgroud)

...

for i in range(2, 10) + range(2):
Run Code Online (Sandbox Code Playgroud)

...

for i in itertools.chain(xrange(2, 10), xrange(2)):
Run Code Online (Sandbox Code Playgroud)

...

for i in (x % 10 for x in xrange(2, 12)):
Run Code Online (Sandbox Code Playgroud)


Ash*_*ary 6

你可以使用range:

>>> for i in range(2,10) + range(0,2):
...     print i
...     
2
3
4
5
6
7
8
9
0
1
Run Code Online (Sandbox Code Playgroud)

或者使用itertools.chain(在py2和py3中都有效):

>>> from itertools import chain
>>> for i in chain(range(2,10),range(0,2)):
    print (i)
...     
2
3
4
5
6
7
8
9
0
1
Run Code Online (Sandbox Code Playgroud)