sum of nested list in Python

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

    You need to use isinstance to check whether an element is a list or not. Also, you might want to iterate over the actual list, to make things simpler.

    def nested_sum(L):
        total = 0  # don't use `sum` as a variable name
        for i in L:
            if isinstance(i, list):  # checks if `i` is a list
                total += nested_sum(i)
            else:
                total += i
        return total
    

提交回复
热议问题