sum of nested list in Python

后端 未结 12 680
粉色の甜心
粉色の甜心 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:49

    One alternative solution with list comprehension:

    >>> sum( sum(x) if isinstance(x, list) else x for x in L )
    30
    

    Edit: And for lists with more than two levels(thx @Volatility):

    def nested_sum(L):
        return sum( nested_sum(x) if isinstance(x, list) else x for x in L )
    

提交回复
热议问题