2012-05-02 12 views
6

2つののリストをPythonで繰り返し実行するには巧妙な方法がありますか(リストの理解)?Pythonの複数リストの繰り返し

私が意味する、このような何か:

# (a, b) is the cartesian product between the two lists' elements 
for a, b in list1, list2: 
    foo(a, b) 

の代わり:

for a in list1: 
    for b in list2: 
     foo(a, b) 

答えて

13

itertools.product()まさにこのん:

for a, b in itertools.product(list1, list2): 
    foo(a, b) 

それはイテレート可能オブジェクトの任意の数を扱うことができる、とその意味では、ネストされたforループよりも一般的です。

関連する問題