¿Puede la falta de orden de Python ser considerada orden aleatoria?

Me gustaría saber si la ausencia de ordenación de elementos de la estructura del set incorporado de Python es “lo suficientemente aleatoria”. Por ejemplo, tomando el iterador de un conjunto, ¿puede considerarse una vista aleatoria de sus elementos?

(Si importa, estoy ejecutando Python 2.6.5 en un host de Windows).

No, no es aleatorio. Está “ordenado arbitrariamente”, lo que significa que no puede depender de que sea ordenado o aleatorio.

No, no puedes confiar en él para ningún propósito estadístico real. La implementación de conjuntos en Python es en términos de una tabla hash, y puede hacer que la distribución del elemento muestre algunas propiedades no aleatorias. Existe una gran brecha entre “no tener una orden garantizada” y “la garantía de que no se ordenará de manera aleatoria y uniforme”.

Utiliza random.shuffle para mezclar realmente los elementos de una secuencia.

La arbitrariedad es fundamental al diseñar progtwigs, cada una de estas libertades que usted reserva es como una tarjeta de comodín que puede usar cuando implementa, desarrolla o reescribe su progtwig. Cuanta más cantidad de estas tarjetas gratis recolectes, más eficiencia podrás entregar desde tu código (probablemente), ya que tienes más libertad para cambiarlo.

No es aleatorio, es solo libertad. Si está mejor configurado de esa manera, el pedido se puede enviar los miércoles y “hacia atrás” los viernes.

En una palabra, no:

 >>> list(set(range(10000))) == list(range(10000)) True 

Solo una nota sobre el rigor del pedido. Parece que es muy poco fiable incluso en el mismo entorno de ejecución.

Por ejemplo, este código da diferentes respuestas:

 data = 'KSRNDOW3GQ' chars = set(data) print(list(chars)) 

introduzca la descripción de la imagen aquí