Python 我如何洗牌并将一个大列表拆分为几个小列表,以最大限度地提高速度?

Python 我如何洗牌并将一个大列表拆分为几个小列表,以最大限度地提高速度?,python,node.js,split,shuffle,chunking,Python,Node.js,Split,Shuffle,Chunking,我有一个大约100多万个元素(当前已排序)的列表,我想随机化(洗牌)并将其分块/拆分为更小的列表(大约50K个存储桶)。在最大化速度方面,最好的方法是什么 我对任何库或语言(目前在项目中使用node和python)都持开放态度,只要它们有快速的预构建方法。谢谢 这不仅仅是一个理论练习,我想为我的实习做这个,因为我们将使用大约50K的数字海洋节点并行运行另一个脚本,它把较小的列表作为输入。 < P>在C或C++中以最大速度进行。 在您的记录数组中使用“modern”。使用一个快速随机变量,可能是在

我有一个大约100多万个元素(当前已排序)的列表,我想随机化(洗牌)并将其分块/拆分为更小的列表(大约50K个存储桶)。在最大化速度方面,最好的方法是什么

我对任何库或语言(目前在项目中使用node和python)都持开放态度,只要它们有快速的预构建方法。谢谢


这不仅仅是一个理论练习,我想为我的实习做这个,因为我们将使用大约50K的数字海洋节点并行运行另一个脚本,它把较小的列表作为输入。

< P>在C或C++中以最大速度进行。

在您的记录数组中使用“modern”。使用一个快速随机变量,可能是在上找到的


然后,以bucksize(=50000)偏移量返回数组中元素的地址,例如&array[0]、&array[50000]、&array[100000]…

您是否自己开发了一种方法,并对其进行了测试,结果发现它对于您的目的来说太慢了?只洗牌整数元素索引列表要比洗牌列表本身更快。将其压缩成更小的列表(即创建索引范围列表)也可能是如此。这两种方法都可以使用内置的。我们不建议最好的方法。你发布你的方法,我们会努力使它更好。