Seleccione aleatoriamente elementos de la lista sin repetición en Python

El módulo incorporado de Python en el randommódulo se usa para trabajar con datos aleatorios. El randommódulo proporciona varios métodos para seleccionar elementos aleatoriamente de una lista, tupla, conjunto, string o diccionario sin ninguna repetición. A continuación se presentan algunos enfoques que representan una selección aleatoria de elementos de una lista sin repetición mediante:

Método 1: Usando random.sample()

Usando el sample()método en el randommódulo. Es sample()un método incorporado del módulo aleatorio que toma la secuencia y el número de selecciones como argumentos y devuelve una lista de longitud particular de elementos elegidos de la secuencia, es decir, lista, tupla, string o conjunto. Se utiliza para la selección aleatoria de una lista de artículos sin ningún reemplazo.
Ejemplo 1:

# importing the required module
import random
  
# list of items
List = [10, 20, 30, 40, 50, 40,
        30, 20, 10]
  
# using the sample() method
UpdatedList = random.sample(List, 3)
  
# displaying random selections from 
# the list without repetition
print(UpdatedList)

Producción:

[50, 20, 10]

También podemos usar el sample()método en una secuencia de números, sin embargo, el número de selecciones debe ser mayor que el tamaño de la secuencia.
Ejemplo 2:

# importing the required module
import random
  
# using the sample() method on a
# sequence of numbers
UpdatedList = random.sample(range(1, 100), 5)
  
# displaying random selections without
# repetition
print(UpdatedList)

Producción:

[51, 50, 97, 22, 6]

Método 2: Usando random.choices()

Usando choices()el método en la randombiblioteca, el choices()método requiere dos argumentos, la lista y k (número de selecciones) devuelve múltiples elementos aleatorios de la lista con reemplazo. Sin embargo, necesitamos convertir la lista en un conjunto para evitar la repetición de elementos.
Ejemplo 1:

# importing the required module
import random
  
# converting the list into a set
Set = set([10, 20, 30, 40, 50, 40,
          30, 20, 10])
  
# using the choices() method on the 
# given dataset
UpdatedList = random.choices(list(Set), k = 3)
  
# displaying random selections without 
# repetition
print(UpdatedList)

Producción:

[30, 20, 40]

Si el choices()método se aplica a una secuencia de números únicos, devolverá una lista de selecciones aleatorias únicas solo si el kargumento (es decir, el número de selecciones) debe ser mayor que el tamaño de la lista.
Ejemplo 2:

# importing the required module
import random
  
# converting the list into set
List = [i for i in range(1, 100)]
  
# using the choices() method on a
# sequence of numbers
UpdatedList = random.choices(List, k = 5)
  
# displaying random selections without
# repetition
print(UpdatedList)

Producción:

[46, 32, 85, 12, 68]

Método 3: Usar random.choice()

Usando el choice()método en el randommódulo, el choice()método devuelve un solo elemento aleatorio de una lista, tupla o string.
A continuación se muestra el programa donde choice()se utiliza el método en una lista de elementos.
Ejemplo 1:

# importing the required module
import random
  
# list of items
List = [10, 20, 30, 40, 50, 40, 
        30, 20, 10]
  
# using the choice() method to return a
# single item from the dataset
print(random.choice(List))

Producción:

20

A continuación se muestra un programa en el que se utiliza el método de elección en la secuencia de números.
Ejemplo 2:

# importing the required module
import random
  
# using the choice() method to return a
# single item from the dataset
print(random.choice(range(1, 100)))

Producción:

56

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *