2013-04-01 26 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来产生字典。