A veces, mientras trabajamos con tuplas de Python, podemos tener un problema en el que necesitamos realizar la suma de valores absolutos de elementos de tupla intermedios. Este tipo de problema puede tener aplicación en muchos dominios, como el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_list = [(-7, -8), (-5, -6)]
Salida : [15, 11]Entrada : test_list = [(-1, -2, -4)]
Salida : [7]
Método #1: Usarsum() + list comprehension + abs()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de calcular la suma usando sum(), abs() para valores absolutos y comprensión de lista para iterar a través de la lista y dentro de cada tupla, se usa la expresión del generador para iterar.
# Python3 code to demonstrate working of # Absolute Tuple Summation # Using sum() + list comprehension + abs() # initializing list test_list = [(7, -8), (-5, -6), (-7, 2), (6, 8)] # printing original list print("The original list is : " + str(test_list)) # Absolute Tuple Summation # Using sum() + list comprehension + abs() res = [sum([abs(ele) for ele in sub]) for sub in test_list] # printing result print("The absolute sum list: " + str(res))
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
Método #2: Uso de la comprensión de listas +sum() + map()
La combinación de las funciones anteriores ofrece una alternativa para resolver este problema. En esto, realizamos la tarea de calcular la suma de los elementos completos de la tupla utilizando map() en lugar de la expresión del generador.
# Python3 code to demonstrate working of # Absolute Tuple Summation # Using list comprehension + sum() + map() # initializing list test_list = [(7, -8), (-5, -6), (-7, 2), (6, 8)] # printing original list print("The original list is : " + str(test_list)) # Absolute Tuple Summation # Using list comprehension + sum() + map() res = [sum(map(abs, ele)) for ele in test_list] # printing result print("The absolute sum list: " + str(res))
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
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