A veces, mientras trabajamos con Python, podemos tener problemas en los que necesitamos extraer todas las sumas posibles de elementos, uno de cada fila en la array, ya sea todos los elementos pares o impares. Este es un problema bastante peculiar, pero puede tener aplicaciones en ciertos dominios. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Método: Usar la expresión del generador + lambda + sum() + map() + all()
La combinación de los métodos anteriores se puede usar para realizar esta tarea. En este, realizamos la tarea de extracción de pares, todos impares o pares usando all() + generador de expresión. La tarea de construcción de sumatorias se realiza mediante sum() y la función lambda.
# Python3 code to demonstrate working of # Odd or Even elements combinations Summations in Matrix # Using generator expression + lambda + sum() + map() + all() from itertools import product # initializing list test_list = [[1, 5, 6], [7, 2, 4], [8, 9, 3]] # printing original list print("The original list is : " + str(test_list)) # Odd or Even elements combinations Summations in Matrix # Using generator expression + lambda + sum() + map() + all() temp1 = product(*test_list) temp2 = (sub for sub in temp1 if all(ele % 2 == 0 for ele in sub) or all(ele % 2 == 1 for ele in sub)) res = {sum(map(lambda idx : idx, ele)) : ele for ele in temp2} # printing result print("The all possible sums are : " + str(res))
La lista original es: [[1, 5, 6], [7, 2, 4], [8, 9, 3]]
Todas las sumas posibles son: {16: (6, 2, 8), 17: ( 1, 7, 9), 18: (6, 4, 8), 21: (5, 7, 9), 11: (1, 7, 3), 15: (5, 7, 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