Python | Extraer asignación de combinación en dos listas

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que tenemos dos listas y necesitamos encontrar todas las asignaciones posibles en todas las combinaciones. Esto puede tener una posible aplicación en problemas matemáticos. Vamos a discutir cierta forma en que este problema puede ser resuelto.

Método: Usandozip() + product()
Con estas funciones este problema se puede resolver y requeriría dos pasos para realizarlo. En el primer paso, encontramos todas las combinaciones de elementos usando product()y como parte del segundo paso, realizamos el posible emparejamiento con el resultado del paso 1 usando zip()y generamos el resultado deseado.

# Python3 code to demonstrate working of
# Extract Combination Mapping in two lists
# using zip() + product()
from itertools import product
  
# initialize lists
test_list1 = [3, 4, 5]
test_list2 = ['x', 'y']
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Extract Combination Mapping in two lists
# using zip() + product()
res = list(list(zip(test_list1, ele)) for ele in product(test_list2, repeat = len(test_list1)))
  
# printing result
print("Mapped Combination result : " + str(res))
Producción :

La lista original 1 es: [3, 4, 5]
La lista original 2 es: [‘x’, ‘y’]
Resultado de la combinación asignada: [[(3, ‘x’), (4, ‘x’), (5, ‘x’)], [(3, ‘x’), (4, ‘x’), (5, ‘y’)], [(3, ‘x’), (4, ‘y’ ), (5, ‘x’)], [(3, ‘x’), (4, ‘y’), (5, ‘y’)], [(3, ‘y’), (4, ‘ x’), (5, ‘x’)], [(3, ‘y’), (4, ‘x’), (5, ‘y’)], [(3, ‘y’), (4 , ‘y’), (5, ‘x’)], [(3, ‘y’), (4, ‘y’), (5, ‘y’)]]

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 *