sum of nested list in Python

后端 未结 12 677
粉色の甜心
粉色の甜心 2020-12-10 05:30

I try to sum a list of nested elements

e.g, numbers=[1,3,5,6,[7,8]] should produce sum=30

I wrote the following code :



        
12条回答
  •  隐瞒了意图╮
    2020-12-10 05:48

    I would sum the flattened list:

    def flatten(L):
        '''Flattens nested lists or tuples with non-string items'''
        for item in L:
            try:
                for i in flatten(item):
                    yield i
            except TypeError:
                yield item
    
    
    >>> sum(flatten([1,3,5,6,[7,8]]))
    30
    

提交回复
热议问题