次のような itertools コードを使用しています (SO に感謝します!)。
# 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 を処理するには、どのようなハードウェアを探す必要がありますか? この種のことを処理できる手頃な価格のマシンはありますか? 私は明らかに、信頼できる iMac を超えて Python のスキルを習得しました。. .