2017-11-10 125 views
0
list1 = [['hello',3],['bye',4].....] 

我需要找到数字的总和,在这种情况下,3 + 4 = 7对于未定义数量的项目在列表中所有像这样的结构如何在字符串和数字列表中找到列表元素的总和Python

我不知道如何从每个子列表中的子列表中调用一个spisific元素以获取sum命令。我尝试了以下内容,但是我在第一个托架中放置了什么?还是有更好的方法来写这个?

sum(list1[][1]) 

谢谢!!

+0

欢迎来到SO。不幸的是,这不是一个论坛,教程或代码编写服务。请花时间阅读[问]和它包含的链接。你应该花一些时间在[教程](https://docs.python.org/3/tutorial/index.html)上练习,练习例子。它将为您介绍Python所提供的工具,并且您甚至可以开始获得解决问题的方法。 – wwii

回答

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 
相关问题