2015-06-21 188 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