2024-03-29 14:35:43 发布
网友
我想把其他三张单子的所有组合列成一张单子。xlijst2有355项,ylijst2有35项,而zlijst2有420项。这是我的密码:
alles = [xlijst2, ylijst2, zlijst2] lijstje = list(itertools.product(*alles))
当我运行它时,我得到了一个内存错误。有什么解决办法吗?你知道吗
有方法太多的结果,这不适合ram。你必须把它写进一个文件。不过,我要警告你,这不是一个小数目的项目。你知道吗
with open("values.txt", "w") as f: for value in itertools.product(*alles): f.write(", ".join(value) + "\n")
是的,解决方法是使用generator返回的itertools,而不将其强制转换为显式列表:
generator
itertools
lijstje = itertools.product(*alles)
从那里,你可以一个接一个地迭代组合。你知道吗
for elt in lijstje: ...do something()
有方法太多的结果,这不适合ram。你必须把它写进一个文件。不过,我要警告你,这不是一个小数目的项目。你知道吗
是的,解决方法是使用
generator
返回的itertools
,而不将其强制转换为显式列表:从那里,你可以一个接一个地迭代组合。你知道吗
相关问题 更多 >
编程相关推荐