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