Python – Suma de diferentes longitudes Listas de lista

Obtener la suma de la lista es un problema bastante común y se ha tratado y discutido muchas veces, pero a veces, necesitamos mejorarla y la suma total, es decir, incluir también las de la lista anidada. Intentemos obtener la suma total y resolver este problema en particular.

Método #1: Uso de la comprensión de listas +sum()
Podemos resolver este problema usando la comprensión de listas como una posible abreviatura de los bucles convencionales que podemos usar para realizar esta tarea en particular. Simplemente iteramos y sumamos la lista anidada y al final devolvemos la suma acumulada usando la función de suma.

# Python3 code to demonstrate
# Sum of Uneven Lists of list
# Using list comprehension + sum()
  
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + sum()
# Sum of Uneven Lists of list
res = sum([ele for sub in test_list for ele in sub])
  
# print result
print("The total element sum in lists is : " + str(res))
Producción :

The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element sum in lists is : 80

Método n.º 2: Usochain() + sum()
Este problema en particular también se puede resolver usando la función de string en lugar de la comprensión de lista en la que usamos la función de suma convencional para verificar la suma.

# Python3 code to demonstrate
# Sum of Uneven Lists of list
# Using chain() + sum()
from itertools import chain
  
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using chain() + sum()
# Sum of Uneven Lists of list
res = sum(list(chain(*test_list)))
  
# print result
print("The total element sum in lists is : " + str(res))
Producción :

The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element sum in lists is : 80

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 *