Python | Construir una lista de tuplas de productos cartesianos

A veces, mientras trabajamos con datos, necesitamos crear datos como todos los posibles pares de contenedores. Este tipo de aplicación proviene del dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de la comprensión de listas
Esta es una forma sencilla de realizar esta tarea en particular. En esto, simplemente acortamos la tarea de bucle en una línea para generar todos los pares posibles de tupla con elementos de lista.

# Python3 code to demonstrate working of
# Construct Cartesian Product Tuple list
# using list comprehension
  
# initialize list and tuple 
test_list = [1, 4, 6, 7]
test_tup = (1, 3)
  
# printing original list and tuple 
print("The original list : " + str(test_list))
print("The original tuple : " + str(test_tup))
  
# Construct Cartesian Product Tuple list
# using list comprehension
res = [(a, b) for a in test_tup for b in test_list]
  
# printing result
print("The Cartesian Product is : " + str(res))
Producción :

La lista original: [1, 4, 6, 7]
La ​​tupla original: (1, 3)
El producto cartesiano es: [(1, 1), (1, 4), (1, 6), (1, 7) ), (3, 1), (3, 4), (3, 6), (3, 7)]

Método n.º 2: usaritertools.product()
Esta tarea también se puede realizar usando la función única que realiza internamente la tarea de devolver el producto cartesiano requerido.

# Python3 code to demonstrate working of
# Construct Cartesian Product Tuple list
# using itertools.product()
from itertools import product
  
# initialize list and tuple 
test_list = [1, 4, 6, 7]
test_tup = (1, 3)
  
# printing original list and tuple 
print("The original list : " + str(test_list))
print("The original tuple : " + str(test_tup))
  
# Construct Cartesian Product Tuple list
# using itertools.product()
res = list(product(test_tup, test_list))
  
# printing result
print("The Cartesian Product is : " + str(res))
Producción :

La lista original: [1, 4, 6, 7]
La ​​tupla original: (1, 3)
El producto cartesiano es: [(1, 1), (1, 4), (1, 6), (1, 7) ), (3, 1), (3, 4), (3, 6), (3, 7)]

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 *