[英]Python list of lists with all combinations memoryerror
我想用其他三個列表的所有組合組成一個列表。 xlijst2有355個項目,ylijst2有35個項目,而zlijst2有420個項目。 這是我的代碼:
alles = [xlijst2, ylijst2, zlijst2]
lijstje = list(itertools.product(*alles))
當我運行它時,我得到一個MemoryError。 有某種解決方法嗎?
是的,解決方法是使用itertools
返回的generator
,而不將其強制轉換為顯式列表:
lijstje = itertools.product(*alles)
從那里,您可以一個接一個地迭代組合。
for elt in lijstje:
...do something()
這有太多的結果,以適應在RAM中。 您將不得不將其寫入文件。 不過,我應該警告您-這不會是一小部分。
with open("values.txt", "w") as f:
for value in itertools.product(*alles):
f.write(", ".join(value) + "\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.