在 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