-1

我正在使用一段 itertools 代码(谢谢!),如下所示:

# Break down into selectable sub-groups by unit name
groups = {k: [b for b in blobs if b.Unit==k] for k in ['A','B','C','D','E','F']}
# Special treatment for unit F: expand to combination chunks of length 3
groups['F'] = combinations(groups['F'], 3)
# Create the list of all combinations
selected = list(product(*groups.values()))

问题是我blobs上面的列表包含大约 400 个项目,这意味着生成的列表对象selected将具有数万亿和数万亿种可能的组合(例如 15x15x15x15x15x15x15x15x15)。我对编程并不陌生,但我对处理大型数据集很陌生。我应该寻找什么样的硬件来处理这样的 itertools?是否有任何价格合理的机器可以处理这种类型的事情?显然,我的 Python 技能已经超出了我信赖的 iMac 。. .

4

1 回答 1

1

如果您可以放弃具体化列表,那么代码将在任何计算机上按原样工作。这就是发电机的力量。

于 2014-04-01T01:54:16.600 回答