我正在寻找以下问题的简单解决方案.
我们在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)
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)
你可以使用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)