【发布时间】:2020-07-19 09:18:46
【问题描述】:
我正在尝试在 int 的 495 大小的数组中列出所有可能的 10 元素组合。
arr 来自 [0, 1, 2,..., 493, 494]
我的代码:
from itertools import combinations_with_replacement
print(list(combinations_with_replacement(arr, 10))
输出:MemoryError
有没有办法可以在没有MemoryError 的情况下将结果保存到文件中?这样我以后可以逐行读取文件。
【问题讨论】:
-
这样的组合超过 2*10^20 个,需要超过 10^8 TB 来存储。你想用这些数据做什么?
-
@ThierryLathuille 完全正确。忘记内存吧,即使您假设每次迭代需要 1 纳秒(在 Python 中肯定会花费更多数量级),它也需要 6896 years 来终止。
标签: python iterator combinations permutation