2016-07-15 97 views
-2

我有一個字典:Python:最有效的方法來獲取組合列表?

diff_params = {0: [a, b], 
       1: [c, d]} 

每個鍵是一個SETTING_NAME,每個值是特定設置。我希望能夠做一個清單,如:

[[a, c], 
[a, d], 
[b, c], 
[b, d]] 

我無法弄清楚如何做清潔時,我有3點或4或5的設置和每個設置有幾個選項。

+2

這些冒號是什麼?這些字符串?編輯'[0:a,1:c]'在Python中沒有意義 – ritlew

+0

我的錯誤,他們不應該在那裏。 – user1367204

回答

3

看來你更專門找itertools.product()可以使用像這樣用unpacking

from itertools import product 

result = product(*diff_params.values()) 

您可能需要轉換的結果,如果你真的想要的目錄列表(周圍list是沒用的如果您使用的是Python 2,因爲map()返回一個列表):

result = list(map(list, result)) 
+0

這就是它,謝謝。 – user1367204