Python – Lista de N tuplas aleatorias

A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos construir una lista de tupla aleatoria. Esto puede tener aplicación en muchos dominios usando juegos y programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada :
N = 4
R = 6
Salida : [(5, 6), (1, 0), (1, 3), (2, 3)]
Entrada :
N = 8
R = 4
Salida : [(2, 3 ) ), (4, 1), (2, 0), (4, 3), (4, 2), (0, 2), (1, 4), (0, 1)]

Método #1: Uso de la comprensión de listas +sample()
Esta es una de las formas en que se puede realizar esta tarea. En esto, la generación de números aleatorios se lleva a cabo usando sample() que, cuando se le da un grupo de números, extrae números aleatorios para formar pares, que se emparejan usando la comprensión de listas.

# Python3 code to demonstrate working of 
# N Random Tuples list
# Using list comprehension + sample()
import random
  
# initializing N
N = 5
  
# initializing Tuple element range 
R = 10
  
# N Random Tuples list
# Using list comprehension + sample()
res = [divmod(ele, R + 1) for ele in random.sample(range((R + 1) * (R + 1)), N)]
  
# printing result 
print("The N random tuples : " + str(res)) 
Producción :

The N random tuples : [(2, 5), (6, 10), (4, 7), (10, 2), (2, 2)]

Método #2: Usarproduct() + sample()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de producir números en un rango usando product() y sample() se usa para extraer N números aleatorios de ellos.

# Python3 code to demonstrate working of 
# N Random Tuples list
# Using product() + sample()
import random
import itertools
  
# initializing N
N = 5
  
# initializing Tuple element range 
R = 10
  
# N Random Tuples list
# Using product() + sample()
res = random.sample(list(itertools.product(range(R + 1), repeat = 2)), N)
  
# printing result 
print("The N random tuples : " + str(res)) 
Producción :

The N random tuples : [(2, 5), (6, 10), (4, 7), (10, 2), (2, 2)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *