Python может установить отсутствие упорядочивания считаться произвольным порядком?

Я хотел бы знать если отсутствие об упорядочивании элемента встроенного Python set структура "достаточно случайна". Например, беря итератор набора, это можно считать переставленным представлением его элементов?

(Если это имеет значение, я запускаю Python 2.6.5 на хосте Windows.)

13
задан sblundy 18 May 2010 в 19:23
поделиться

4 ответа

Нет, это не случайное. Он «произвольно упорядочен», что означает, что вы не можете зависеть от его упорядоченности или случайности.

27
ответ дан 1 December 2019 в 19:01
поделиться

Нет, вы не можете полагаться на это для каких-либо реальных статистических целей. Реализация наборов в Python осуществляется в виде хеш-таблицы и может привести к тому, что распределение элементов будет отображать некоторые очень неслучайные свойства. Существует большой разрыв между «отсутствием гарантированного порядка» и «гарантированно неупорядоченным равномерно-случайным образом».

Используйте random.shuffle для , чтобы действительно перемешать элементы последовательности.

4
ответ дан 1 December 2019 в 19:01
поделиться

Одним словом, нет:

>>> list(set(range(10000))) == list(range(10000))
True
4
ответ дан 1 December 2019 в 19:01
поделиться

Произвол является центральным при разработке программ, каждая из этих свобод, которые вы оставляете , подобна карточке-шутнику , которую вы можете использовать при реализации, разработке или переписывании вашей программы. Чем больше этих бесплатных карточек вы соберете, тем больше эффективности вы сможете добиться от своего кода (возможно), поскольку у вас будет больше свободы для его изменения.

Это не случайность, это просто свобода. Если так настроить, то по средам заказ может быть переадресован, а по пятницам - «назад».

4
ответ дан 1 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: