2015-06-21 168 views
4

我有几个简单的循环,像这样:迭代两个范围for循环

for i in range (30, 52): 

    #do some stuff here 

for i in range (1, 18): 

    #do some more stuff 

我想什么是使用顺序的语法凝结成一个圈这样的:

for i in range((30, 52), (1, 18): 

    #do some stuff 

我意识到语法不起作用,但这是我需要的基本概念。我见过使用zip同时迭代两个范围的人,但这不是我所需要的。

任何想法?

+0

链['itertools.chain.from_iterable'](https://docs.python.org/2/library/itertools.html#itertools.chain.from_iterable )。 –

+0

@AshwiniChaudhary嗨,谢谢你的回复。你不能详细说明你的语法吗?谢谢。 – gdogg371

+0

@AshwiniChaudhary我认为'产品'是OP在寻找什么? – Kasramvd

回答

9

https://docs.python.org/2/library/itertools.html#itertools.chain

请返回来自第一迭代元素,直到它 耗尽的迭代器,然后前进到下一个迭代,直到所有的 iterables的已耗尽。用于将连续序列作为 单一序列进行处理。

实施例:使用他们

import itertools as it 
for i in it.chain(range(30, 52), range(1, 18)): 
    print(i) 
+0

工作完美。非常感谢。将在8分钟内接受! – gdogg371