在 Python 中仅添加列表中存在的数字值

pythonserver side programmingprogramming

我们有一个包含字符串和数字的 Python 列表。在本文中,我们将了解如何通过忽略字符串来对此类列表中存在的数字求和。

使用过滤器和 isinstance

isinstance 函数可用于仅从列表中的元素中过滤出数字。然后我们应用 sum 函数并得到最终结果。

示例

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
#Given dlist
print("Given list: ",listA)
# Add the numeric values
res = sum(filter(lambda i: isinstance(i, int), listA))
print ("Sum of numbers in listA: ", res)

输出

运行上述代码得到以下结果 −

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48

使用 for 循环

它与 wall 的方法类似,只是我们不使用过滤器,而是使用 follow 和 is 实例条件。然后应用 sum 函数。

示例

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
# 给定列表
print("Given list: ",listA)
# 添加数值
res = sum([x for x in listA if isinstance(x, int)])
print ("Sum of numbers in listA: ", res)

输出

运行上述代码得到以下结果 −

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48

相关文章