Python | Suma de dígitos de números en Lista

El problema de encontrar la suma de dígitos de números es bastante común. Esto a veces puede venir en forma de una lista y necesitamos realizar eso. Esto tiene aplicación en muchos dominios, como la programación escolar y el desarrollo web. Analicemos ciertas formas en que se puede resolver este problema.
 

Método #1: Usando loop + str() 
Este es un método de fuerza bruta para realizar esta tarea en particular. En esto, ejecutamos un ciclo para cada elemento, convertimos cada dígito en una string y realizamos el conteo de la suma de cada dígito.
 

Python3

# Python3 code to demonstrate
# Sum of number digits in List
# using loop + str()
 
# Initializing list
test_list = [12, 67, 98, 34]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Sum of number digits in List
# using loop + str()
res = []
for ele in test_list:
    sum = 0
    for digit in str(ele):
        sum += int(digit)
    res.append(sum)
     
# printing result
print ("List Integer Summation : " + str(res))
Producción : 

The original list is : [12, 67, 98, 34]
List Integer Summation : [3, 13, 17, 7]

 

 
Método n.º 2: Uso de sum() + comprensión de lista 
Esta tarea también se puede realizar de forma abreviada utilizando las funcionalidades anteriores. La sum() se usa para calcular la suma y la comprensión de la lista se usa para calcular las iteraciones.
 

Python3

# Python3 code to demonstrate
# Sum of number digits in List
# using sum() + list comprehension
 
# Initializing list
test_list = [12, 67, 98, 34]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Sum of number digits in List
# using sum() + list comprehension
res = list(map(lambda ele: sum(int(sub) for sub in str(ele)), test_list))
     
# printing result
print ("List Integer Summation : " + str(res))
Producción : 

The original list is : [12, 67, 98, 34]
List Integer Summation : [3, 13, 17, 7]

 

Método #3: Usando sum() + reduce()
Esta tarea también se puede realizar usando taquigrafía usando las funcionalidades anteriores. El sum() se usa para calcular la suma y reducir la función del módulo functools.

Python3

# Python3 code to demonstrate
# Sum of number digits in a List
# using sum() + reduce()
from functools import reduce
 
# Initializing list
test_list = [12, 67, 98, 34]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Sum of number digits in List
# using sum() + reduce()
res = [reduce(lambda x, y: int(x) + int(y), list(str(i))) for i in test_list]
 
# printing result
print("List Integer Summation : " + str(res))

 Producción:

The original list is : [12, 67, 98, 34]
List Integer Summation : [3, 13, 17, 7]

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 *