📅  最后修改于: 2023-12-03 15:04:09.120000             🧑  作者: Mango
在Python中,有时候我们需要对一组数字进行求和操作,但是数组中可能会存在非数字类型的数据,如字符串或布尔值等。在这种情况下,我们需要一种方法来仅对数字进行求和。
可以使用for循环和isinstance函数,对每个元素进行类型判断,仅对数字进行求和。下面是示例代码:
data = [1, 2, 3, 'a', 'b', True]
sum = 0
for item in data:
if isinstance(item, (int, float)):
sum += item
print(sum)
输出结果为:6
我们可以使用列表推导式来过滤掉非数字元素,并对纯数字列表进行求和。下面是示例代码:
data = [1, 2, 3, 'a', 'b', True]
numbers = [item for item in data if isinstance(item, (int, float))]
sum = sum(numbers)
print(sum)
输出结果为:6
我们可以使用map和filter函数结合起来,对数据进行过滤和映射,得到一个仅包含数字的列表,最后对列表进行求和。下面是示例代码:
data = [1, 2, 3, 'a', 'b', True]
numbers = list(map(int, filter(lambda x: isinstance(x, (int, float)), data)))
sum = sum(numbers)
print(sum)
输出结果为:6
以上就是对于Python中仅对数字进行求和的几种方法,可以根据自己的实际情况选择合适的方法。