Sum of Number Digits in List in Python (original) (raw)

Last Updated : 12 Nov, 2025

Given a list of integers, write a Python program to calculate the sum of digits for each element and store the results in a new list. For Example:

**Input: [123, 456, 789]
**Output: [6, 15, 24]
**Explanation: 123 = 1 + 2 + 3 = 6
456 = 4 + 5 + 6 = 15
789 = 7 + 8 + 9 = 24

Below are the different methods to perform this task:

Using List Comprehension

This method uses a single-line expression to compute the sum of digits for each number efficiently.

Python `

a = [123, 456, 789] res = [sum(int(digit) for digit in str(val)) for val in a] print(res)

`

**Explanation:

Using map() with lambda Function

This functional approach uses map() to apply a lambda function on each element of the list.

Python `

a = [123, 456, 789] res = list(map(lambda val: sum(int(digit) for digit in str(val)), a)) print(res)

`

**Explanation:

Using Loops

This method uses simple for and while loops to manually extract and sum digits.

Python `

a = [123, 456, 789] res = []

for val in a: total = 0 while val > 0: total += val % 10 val //= 10 res.append(total)

print(res)

`

**Explanation:

Using sum() and map() function

This method combines sum() and map() without lambda for a cleaner approach.

Python `

a = [123, 456, 789] res = [sum(map(int, str(val))) for val in a] print(res)

`