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

2024-09-26 22:51:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我只需要找到这些数字的总和,在这个例子中,3+4=7,对于列表中一个未定义的项目,所有的结构都是这样的

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

sum(list1[][1])

谢谢


Tags: 项目命令元素hello列表数字结构例子
1条回答
网友
1楼 · 发布于 2024-09-26 22:51:40

对于简单的二维列表,可以尝试以下方法:

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

相关问题 更多 >

    热门问题