Dada una lista y nuestra tarea es seleccionar aleatoriamente elementos de la lista en Python usando varias funciones. A veces se puede utilizar la selección de números aleatorios de una lista al crear juegos, elegir un rango aleatorio, etc.
Ejemplo
Input: [2, 3, 4 , 5, 6 ] Output: 2 Explaination: The output we are getting is a random value from the input list>
Seleccione el valor aleatorio de una lista
A continuación se detallan los métodos que cubriremos en este artículo:
- Usando elección.aleatoria()
- Usando aleatorio.randrange()
- Usando aleatorio.randint()
- Usando aleatorio.aleatorio()
- Usando muestra aleatoria()
- Usando elecciones.aleatorias()
- Usando numpy.aleatorio.elección()
- Seleccione k valor aleatorio de una lista
Seleccione un valor aleatorio de una lista usando random.choice()
Este elección.aleatoria() La función está diseñada para obtener un muestreo aleatorio de una lista en Pitón y por lo tanto es el método más común para lograr esta tarea de obtener un número aleatorio de un lista .
Python3
import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.choice() to> # get a random number> random_num>=> random.choice(test_list)> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))> |
>
puerto de escucha
>
Producción:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 1>
Seleccione un valor aleatorio de una lista usando random.randrange()
El aleatorio.randrange() El método se utiliza para generar un número aleatorio en un rango determinado, podemos especificar que el rango sea 0 para la longitud de la lista y obtener el índice, y luego el valor correspondiente.
Python3
listar como matriz
import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.randrange() to> # get a random number> rand_idx>=> random.randrange(>len>(test_list))> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))> |
>
>
Producción:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>
Seleccione el valor aleatorio de una lista usando random.randint()
El aleatorio.randint() se usa para generar el número aleatorio, también se puede usar para generar cualquier número en un rango, y luego usando ese número, podemos encontrar el valor en el índice correspondiente, tal como la técnica mencionada anteriormente. Pero se diferencia en que requiere 2 argumentos obligatorios para el rango.
Python3
import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.randint() to> # get a random number> rand_idx>=> random.randint(>0>,>len>(test_list)>->1>)> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))> |
>
>
Producción:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 4>
Seleccione el valor aleatorio de una lista usando random.random()
El aleatorio.aleatorio() El método genera números de punto flotante en el rango de 0 a 1. También podemos obtener el valor del índice de una lista usando esta función multiplicando el resultado y luego encasillandolo en un número entero para obtener el índice entero y luego el correspondiente. valor de lista.
Python3
import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.random() to> # get a random number> rand_idx>=> int>(random.random()>*> len>(test_list))> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))> |
>
>
Producción:
mesa de látex
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>
Seleccione el valor aleatorio de una lista usando random.sample()
Python tiene una función incorporada llamada muestra aleatoria(). El módulo aleatorio contiene la función random.sample(). Tiene la capacidad de elegir varios elementos de una lista.
Python3
import> random> test_list>=> [>1>,>4>,>5>,>2>,>7>]> print>(>'Original list is : '> +> str>(test_list))> print>(>'Random element is :'>, random.sample(test_list,>5>))> |
>
>
Producción:
Original list is : [1, 4, 5, 2, 7] Random element is : [7, 4, 1, 5, 2]>
Seleccione el valor aleatorio de una lista usando random.choices()
El elecciones.aleatorias La función se almacena en el módulo aleatorio(). Seleccionar numerosos elementos de una lista o un solo elemento de una secuencia particular es útil con la ayuda de la función random.choices.
Python3
import> random> test_list>=> [>11>,>44>,>55>,>22>,>77>]> print>(>'Original list is : '> +> str>(test_list))> print>(>'Random element is :'>, random.choices(test_list, k>=>4>))> |
>
comparación de león y tigre
>
Producción:
the t is : [11, 44, 55, 22, 77] Random element is : [11, 11, 44, 77]>
Seleccione el valor aleatorio de una lista usando numpy.random.choice()
El numpy.aleatorio.elección() El método se utiliza para obtener una muestra aleatoria de una matriz en numpy. También es posible generar una muestra aleatoria a partir de una lista convirtiendo la lista en una engordado formación.
Importe numpy e inicialice la lista. Convierte la lista en una engordado formación. Utilice el método numpy.random.choice() para seleccionar un valor aleatorio de la matriz. Imprime el valor seleccionado.
Nota: Instale numpy usando pip install numpy
Python3
java obtener fecha actual
import> numpy as np> # Initializing list> test_list>=> [>2>,>3>,>4>,>5>,>6>]> # Converting list to numpy array> test_array>=> np.array(test_list)> # Using numpy.random.choice() to get a random number> random_num>=> np.random.choice(test_array)> # Printing the random number> print>(>'Random selected number is : '> +> str>(random_num))> |
>
>
Producción:
Random selected number is : 5>
Complejidad del tiempo: La complejidad temporal del numpy.aleatorio.elección() El método es O(k), donde k es el tamaño de la muestra que se generará.
Complejidad espacial: La complejidad espacial del numpy.aleatorio.elección() El método es O(n), donde n es el tamaño de la matriz.
Seleccione k valor aleatorio de una lista
Aquí hemos agrupado todos los elementos en un par de tamaños k.
Python3
import> random> def> select_random_Ns(l, k):> >random.shuffle(l)> >res>=> []> >for> i>in> range>(>0>,>len>(l), k):> >res.append(l[i:i>+> k])> >return> res> > l>=> [>'G'>,>'E'>,>'E'>,>'K'>,>'S'>,>'F'>,>'O'>,>'R'>,>'G'>,>'E'>,>'E'>,>'K'>,>'S'>]> print>(select_random_Ns(l,>3>))> |
>
>
Producción:
[['G', 'G', 'R'], ['K', 'K', 'E'], ['O', 'F', 'E'], ['S', 'E', 'S'], ['E']]>