我正在尝试以这种方式创建字典:
有两组数据:之前和之后,每组都有100个元素(0到99)的数组
还有一个与之前和之后的每个组合相关联的值,它是一个大小为10000X1的向量。
我想创建一个字典,以便我可以使用字典键引用向量中的值。
e.g。 (3个元素而不是100个)
之前= ['0','1','2'],之后= ['0','1','2'],vector = [1 2 3 4 5 6 7 8 9],< / p>
字典输出应该是:
(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)....等作为键。
答案 0 :(得分:2)
itertools.product(range(100), range(100))
将为您提供一个迭代,它可以生成您需要的所有键,您可以itertools.izip
使用目标向量来生成字典。