У меня есть список примерно 100M + элементов (в настоящее время отсортированных), которые я хочу рандомизировать (перетасовать) И кусок/разделить на более мелкие списки (около 50 тыс. Ковшей). Каков наилучший способ сделать это с точки зрения максимальной скорости?Как перетасовать и разбить большой список на более мелкие, пытаясь максимизировать скорость?
Я открыт для любых библиотек или языков (в настоящее время используется узел и python для проекта), если у них есть быстрые встроенные методы. Благодаря!
P.S. Это не просто теоретическое упражнение, я пытаюсь понять это для своей стажировки, так как мы будем запускать другой скрипт параллельно, используя около 50K цифровых узлов Ocean Ocean, которые берут меньшие списки в качестве входных данных.
Вы разработали метод самостоятельно, протестировал его и нашел, что он слишком медленный для ваших целей? – TigerhawkT3
Было бы просто просто перетасовать список индексов целочисленных элементов, кроме самого списка. То же самое можно сказать и о том, чтобы разбить его на более мелкие списки (т. Е. Создать список диапазонов индексов). Оба могут быть выполнены с использованием встроенных модулей. – martineau
Мы не предлагаем лучший подход здесь. Вы публикуете свой подход, и мы стараемся сделать его лучше. – CrakC