validar utilizar una try tipos sirve sintaxis que por para imprimir excepción excepcion error crear como anidados python random set order shuffle

utilizar - ¿Se puede considerar que la falta de orden de Python es un orden aleatorio?



try except anidados python (5)

En una palabra, no:

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

Me gustaría saber si la ausencia de orden de elementos de la estructura del set integrado de Python es "lo suficientemente aleatoria". Por ejemplo, al tomar el iterador de un conjunto, ¿puede considerarse una vista mezclada de sus elementos?

(Si es importante, ejecuto Python 2.6.5 en un host de Windows).


La arbitrariedad es fundamental al diseñar programas, cada una de estas libertades que reserva es como una carta joker que puede usar cuando implemente, desarrolle o reescriba su programa. Cuantas más tarjetas gratuitas recaben, mayor será la eficacia de tu código (probablemente), ya que tienes más libertad para cambiarlo.

No es aleatorio, es solo libertad. Si es un conjunto mejor de esa manera, el pedido puede adelantarse los miércoles y "retrasarse" los viernes.


No, no es aleatorio. Está "ordenado arbitrariamente", lo que significa que no puede depender de que esté ordenado o sea 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 de elementos muestre algunas propiedades muy no aleatorias. Hay una gran brecha entre "no tener una orden garantizada" y "garantizada para ser desordenada de manera uniforme y aleatoria".

Usa random.shuffle para mezclar elementos de una secuencia.


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

Por ejemplo, este código da diferentes respuestas:

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