这需要更好的代码还是更好的硬件?

时间:2014-04-01 00:52:36

标签: python supercomputers

我正在使用一段看起来像:

的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。 。 。

1 个答案:

答案 0 :(得分:1)

如果您可以放弃列表的实现,那么代码将在任何计算机上按原样运行。这就是发电机的力量。