Python | Todas las N tuplas de combinación posibles

A veces, mientras trabajamos con tuplas de Python, podemos tener un problema en el que necesitamos generar todos los pares de combinaciones posibles hasta N. Esto puede tener aplicación en el dominio de las matemáticas. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: Uso de la comprensión de listas +product()
Esta tarea se puede realizar mediante la comprensión de listas, que se puede usar para iterar el contenedor de N números y product()realiza la tarea de formación de combinaciones a partir de ellos.

Python3

# Python3 code to demonstrate working of
# All possible N combination tuples
# Using list comprehension + product()
from itertools import product
  
# initialize N 
N = 3
  
# All possible N combination tuples
# Using list comprehension + product()
res = [ele for ele in product(range(1, N + 1), repeat = N)]
  
# printing result
print("Tuple Combinations till N are : " + str(res))
Producción :

Las combinaciones de tuplas hasta N son: [(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3) , (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), ( 3, 3, 1), (3, 3, 2), (3, 3, 3)]

Método #2: Usarproduct()
Esta tarea también se puede realizar usando solo la función única. El uso de la comprensión de listas se puede eliminar mediante la conversión a lista.

Python3

# Python3 code to demonstrate working of
# All possible N combination tuples
# Using product()
from itertools import product
  
# initialize N 
N = 3
  
# All possible N combination tuples
# Using product()
res = list(product(range(1, N + 1), repeat = N))
  
# printing result
print("Tuple Combinations till N are : " + str(res))
Producción :

Las combinaciones de tuplas hasta N son: [(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3) , (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), ( 3, 3, 1), (3, 3, 2), (3, 3, 3)]

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 *