【发布时间】:2015-09-30 11:00:02
【问题描述】:
我有一个包含大约 100M+ 个元素(当前已排序)的列表,我想将这些元素随机化(随机播放)和分块/拆分成更小的列表(大约 50K 桶)。就最大化速度而言,最好的方法是什么?
如果它们具有快速的预构建方法,我对任何库或语言(目前在项目中使用 node 和 python)持开放态度。谢谢!
附:这不仅仅是一个理论练习,我正在尝试在我的实习中解决这个问题,因为我们将使用大约 50K 的 Digital Ocean 节点并行运行另一个脚本,该节点将较小的列表作为输入。
【问题讨论】:
-
您是否自己开发了一种方法并对其进行了测试,但发现它对于您的目的来说太慢了?
-
只打乱整数元素索引列表比列表本身更快。将它分成更小的列表(即创建索引范围列表)可能也是如此。两者都可以使用内置函数来完成。
-
我们在这里不建议最好的方法。您发布您的方法,我们会努力使其变得更好。
标签: python node.js split shuffle chunking