list1 = [['hello',3],['bye',4].....]
我需要找到数字的总和,在这种情况下3 + 4 = 7,列表中未定义的项目数量都是这样构造的
我不知道如何从sum命令的每个子列表中的子列表中调用spisific元素。我试过以下但是我在第一个括号中放了什么?或者有更好的方法来写这个吗?
sum(list1[][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