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))
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