-2
我使用的是一塊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?有沒有合理價位的機器可以處理這種類型的東西?我顯然已經將我的Python技能超越了我可靠的iMac。 。 。
我認爲,對於如此多的數據,你會希望使用Python以外的其他東西,比如C程序,它會更加高效。 –
這對純Python來說不是一個好問題。你可能想看看寫一些擴展名,以更高效和更快速的方式完成工作。 – ebarr
你打算如何處理你的萬億物品是什麼?如果你想迭代它們進行單獨的處理,'itertools.product'可能實際上非常高效(不要將它包裝在'list'中,只需使用迭代器)。但是如果你耗費了大量時間,無論使用什麼樣的系統和軟件,它可能需要很長時間。 – Blckknght