2013-04-01 47 views
-1

我試圖創建以這種方式的字典中的數據:創建使用循環Python字典而不定義單獨

有數據的兩組:前,後,和分別是100個元素的陣列(0到99)

還有一個與每個前後組合相關的值,它是一個大小爲10000X1的向量。

我想創建一個字典,使我可以使用字典鍵引用矢量中的值。

例如(對於3個元件而不是100個)

之前= ['0','1','2'],之後= ['0','1','2'],矢量= [1 2 3 4 5 6 7 8 9],

字典輸出應爲:

(0,0):1,(0,1):2,(0,2):3,(1,0) :4,(1,1):5,(1,2):6,(2,0):7,(2,1):8,(2,2):9

我知道如何通過僅僅通過定義密鑰然後使用dict(zip())函數來爲這樣的少數幾個元素執行此操作,但有沒有更好的方法來處理這麼大的集合。我正在考慮使用循環,但似乎無法讓它產生(0,0),(0,1),(0,2)....等作爲鍵。

回答

2

itertools.product(range(100), range(100))會給你一個迭代產生你需要的所有鍵,你可以用你的目標向量itertools.izip來產生字典。