sacar repetir numeros numero matriz lista generar generan datos como azar aleatorios aleatorio aleatoria python string random

repetir - La mejor forma de aleatorizar una lista de cadenas en Python



lista random python (4)

Dado un artículo de cadena, aquí hay un trazador de líneas:

''''.join([str(w) for w in random.sample(item, len(item))])

Recibo como entrada una lista de cadenas y necesito devolver una lista con estas mismas cadenas pero en orden aleatorio. Debo permitir duplicados: la misma cadena puede aparecer una o más veces en la entrada y debe aparecer la misma cantidad de veces en la salida.

Veo varias formas de "fuerza bruta" de hacer eso (usando bucles, Dios no lo quiera), uno de los cuales estoy usando actualmente. Sin embargo, conociendo a Python, probablemente haya un buen trazador de líneas que haga el trabajo, ¿verdad?



Tendrás que leer las cadenas en una matriz y luego usar un algoritmo de mezcla. Recomiendo la mezcla de Fisher-Yates


>>> import random >>> x = [1, 2, 3, 4, 3, 4] >>> random.shuffle(x) >>> x [4, 4, 3, 1, 2, 3] >>> random.shuffle(x) >>> x [3, 4, 2, 1, 3, 4]