如何在字符串和数字Python列表中查找列表元素的总和

时间:2017-11-10 21:48:14

标签: python arrays list sum

list1 = [['hello',3],['bye',4].....]

我需要找到数字的总和,在这种情况下3 + 4 = 7,列表中未定义的项目数量都是这样构造的

我不知道如何从sum命令的每个子列表中的子列表中调用spisific元素。我试过以下但是我在第一个括号中放了什么?或者有更好的方法来写这个吗?

sum(list1[][1])

谢谢!

1 个答案:

答案 0 :(得分:0)

对于简单的二维列表,您可以尝试:

list1 = [['hello',3],['bye',4]]
the_sum = sum(i[-1] for i in list1)

但是,对于n维度的列表,最好是递归:

list1 = [['hello',3],['bye',4], [["hi", 19], ["yes", 18]]]

def flatten(s):
   if not isinstance(s, list):
       yield s
   else:
       for i in s:
          for b in flatten(i):
              yield b

final_result = sum(filter(lambda x:isinstance(x, int), list(flatten(list1))))

输出:

44