2017-04-19 75 views
0

假設我有以下形式的嵌套循環:聯合收割機嵌套for循環的python

for i in List1: 
    for j in List2: 
     DoSomething(i,j) 

能不能做到如下:提前

for i,j in combine(List1, List2): 
    DoSomething(i,j) 

感謝

所以要澄清組合功能將執行如下操作:

List1 = range(5) 
List2 = range(5) 
combine(List1, List2,) 
>>> (0,0) 
>>> (0,1) 
>>> (0,2) 
. 
. 
. 
>>> (2,4) 
>>> (3,0) 
. 
. 
. 

的itertools.product完美的作品

+1

什麼是你,你正在努力解決實際問題呢?是的,你可以組合列表,但嵌套循環像2維數組一樣工作。聯合功能如何表現?請更新您的帖子以縮小您的問題。 – Jeroen

+0

我會說他想在嵌套循環中使用'DoSomething'而不顯式嵌套循環。國際海事組織的問題不是很詳細,但在這方面很明顯。並且已經給出了完美的答案:http://stackoverflow.com/a/43498876/6525140 – mhoff

回答

0

您可以使用itertools.product

import itertools 
for i,j in itertools.product(List1, List2): 
    DoSomething(i,j)