Add only Numeric Values Present in a List Python (original) (raw)

Last Updated : 17 Jan, 2025

To sum only the numeric values in a list containing mixed data types, we iterate through the list, filter out non-numeric elements and then calculate the sum of the remaining numeric values.

Using filter and sum

One efficient to handle this is by combining the filter() function with the sum() function. filter() function selects only the numeric elements such as integers or floats based on a specified condition and the sum() function then calculates the total of these filtered values.

Python `

li = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z']

sum to add only numeric values

res = sum(filter(lambda x: isinstance(x, int), li)) print(res)

`

**Explanation:

Table of Content

Using list comprehension

list comprehension is a powerful way to create new lists by applying an expression to each element in an existing list. When combined with the sum() function, it provides an efficient method for filtering and summing only the numeric values from a list that contains mixed data types.

Python `

li = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] res = sum([x for x in li if isinstance(x, int)]) print(res)

`

**Explanation:

Using for loop

for loop is a simple way to iterate through a list and sum numeric values. While easy to understand, it is less efficient than methods like filter() and list comprehension as it requires manually checking each element and summing conditionally.

Python `

li = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z']

Manually summing numeric values using a loop

res = 0 for item in li: if isinstance(item, int): res += item

print(res)

`

**Explanation:

Similar Reads