Lista aleatoria con Python

12/Jun/2017 Python 1 Comentario
Ejemplos Programación en Python

Ya hemos visto las alternativas que tenemos para generar números aleatorios con Python. Ahora vamos a dar un paso más y generar una lista aleatoria con Python.

Lo primero de todo será tener una lista. Por ejemplo podemos crear una lista de números de una forma muy rápida mediante la función range().

lista = range(0,100)

En este caso hemos creado una lista de números de 0 al 100. Ahora lo que vamos a generar una lista aleatoria con Python en la que solo aparezcan 10 números elegidos de estos 100. Para ello vamos a utilizar la función sample(). La función sample() tiene dos parámetros:

sample(lista,k=numero_elementos)

El primer parámetro es la lista origen de la que vamos a generar la lista aleatoria, el segundo es el número de elementos que va a tener esta lista aleatoria con Python.

De esta forma si queremos 10 números de nuestra lista inicial codificaremos lo siguiente:

print sample(lista,k=10)

El resultado será, por ejemplo:

[74, 63, 30, 72, 35, 86, 87, 38, 0, 84]

Pero la lista aleatoria con Python puede ser de cualquier tipo de elementos. Por ejemplo podríamos hacerla de cadenas de texto.

vehiculos = ['avión','bicicleta','coche','motocicleta','tractor','barco','transatlántico','camión']

Y la forma de generar una lista aleatoria a partir de estos elementos sería la misma:

print sample(vehiculos,k=4)

Generando en este caso salidas como:

[‘tractor’, ‘bicicleta’, ‘avión’, ‘motocicleta’]

Vídeos sobre Python


Un comentario en “Lista aleatoria con Python”

Víctor Cuervo

Micaela

Buenas, intenté hacer una prueba para que me devuelva dos líneas de un archivo aleatoriamente pero me salta error sintáxis en la linea donde llamo a sample. Importe de random puede ser?, desde ya muchas gracias, muy buen contenido es de gran ayuda.

Archivo=open(«Países.txt»,»r»)

for elem in Archivo:

pais=Archivo.readline()

print sample(aleatorio,2)

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*