gpt4 book ai didi

python - 如何洗牌并将大列表拆分为较小的列表,以最大限度地提高速度?

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:46 24 4
gpt4 key购买 nike

我有一个大约 100M+ 元素的列表(当前已排序),我想对其进行随机化(洗牌)和 block /拆分为更小的列表(大约 50K 存储桶)。就最大化速度而言,执行此操作的最佳方法是什么?

如果任何库或语言具有快速的预构建方法,我对它们持开放态度(目前该项目使用 Node 和 Python)。谢谢!

附注这不仅仅是一个理论练习,我正在尝试在实习中解决这个问题,因为我们将使用大约 50K Digital Ocean Node 并行运行另一个脚本,该 Node 将较小的列表作为输入。

最佳答案

在 C 或 C++ 中执行此操作以获得最大速度。

使用“现代”Fisher-Yates shuffle在您的记录数组上。使用快速随机数,也许是在 stack overflow 上找到的一个.

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

关于python - 如何洗牌并将大列表拆分为较小的列表,以最大限度地提高速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31362038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com