【问题标题】:How to find sum of elements of a list, within a list of strings and numbers Python [duplicate]如何在字符串和数字列表中查找列表元素的总和Python [重复]
【发布时间】:2017-11-10 21:48:13
【问题描述】:
list1 = [['hello',3],['bye',4].....]

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

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

sum(list1[][1])

谢谢!!

【问题讨论】:

  • 欢迎来到 SO。不幸的是,这不是一个讨论论坛、教程或代码编写服务。请花时间阅读How to Ask 及其包含的链接。您应该花一些时间通过the Tutorial 练习这些示例。它将向您介绍 Python 必须提供的工具,您甚至可能会开始获得解决问题的想法。

标签: python arrays list sum


【解决方案1】:

对于一个简单的二维列表,你可以试试这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2013-07-25
    • 2019-11-17
    • 2022-10-19
    相关资源
    最近更新 更多