繁体   English   中英

在列表的子列表中查找数字并将其相加

[英]Find digits in the sublists of the list and sum it

我有一个深度嵌套的此类格式列表。

[['A',
  1668034967,
  [[322211651,
    'foo1',
    'foo2',
    'foo3',
    '1528'] # this 'row',
   [241737340,
    'foo1',
    'foo2',
    'foo3',
    '1032']]] # this 'row',
['B',
  1668034968,
  [[173817552,
    'foo1',
    'foo2',
    'foo3',
    '2196']]]]  # this 'row'

我需要总结子列表中的所有选定值(见评论)。 因此,output 将是: 1528 + 1032 + 2196 = 4756

我考虑过 lambda 和列表推导,但该列表非常深,所以我不知道如何正确使用 lambda。

我试过这样

tests = # the list before in example
[int(x[2][0][4]) for x in tests]
# results in [1528, 2196] however I need [1528, 1032, 2196]

首先,确保您可以 select 嵌套列表中的正确部分:

>>> [v[-1] for sub in mylist for v in sub[-1]]
['1528', '1032', '2196']

然后,将它们相加,为int

>>> sum([int(v[-1]) for sub in mylist for v in sub[-1]])
4756

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM