【发布时间】:2019-09-30 16:33:20
【问题描述】:
我希望从嵌套循环中创建一个字典,以遍历日期和变量。鉴于我的日期长度约为 400 且 myvars 约为 50,000,我想尽可能高效地创建它。非常感谢。
fmap = dict.fromkeys(range(len(dates)*len(myvars)))
count = 0
for j in dates:
for i in myvars:
fmap[count] = partial(dosomething, i, j)
count = count+1
【问题讨论】:
-
打电话给
dict.fromkeys()有什么意义?无论如何,嵌套循环都会重新分配所有键。 -
我建议使用与嵌套循环等效的字典理解。更好的是,如果您参数化您的
partial函数以在一次调用中构建整个字典,您可以节省时间。 -
假设您确实需要调用
partial()两百万次并将每个结果存储到字典中的一个键中,我看不出有任何方法可以使这段代码更高效。我怀疑唯一真正的效率提升将是想出一种方法来避免向partial()拨打 200 万次电话,但你没有给我们足够的细节来推测如何做到这一点。 -
你能举一个数据的例子以及最终的字典应该是什么样子吗?
标签: python loops dictionary nested