Я чувствую, что этот вопрос, должно быть, задавали раньше, но я не мог найти то, что ищу. У меня есть python список S
из 100
уникальных целых чисел по величине 10^100
. Я хочу, чтобы самый быстрый способ для отбора n
элементов из его набора мощности. Другими словами, я хочу n
уникальных подсписков произвольной длины. Это может быть сделано путем генерации 2^n
подмножеств и выбора из них, но это нереально и очень медленно. Я пробовал такие вещи в al oop,
S[np.random.choice(S.shape[0], np.random.randint(S.shape[0]), replace=False)]
Но это медленно и имеет коллизии. Еще я попробовал использовать Subsets.random_element () SageMath в al oop. Это лучше при семплировании без столкновений, но l oop делает его медленным.
Итак, каков самый быстрый способ из python получить n
семплов из набора мощности (списка мощности? ) списка уникальных целых чисел.
Это узкое место в проблеме, которую я пытаюсь решить, любая библиотека или методика, которые могут выполнить sh выборку из блока питания, выполнимо и быстро, улучшат общую скорость для мое решение.