sum of nested list in Python
list, python, python-3.3
Solution
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
Problem
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 : ``` def nested_sum(L): sum=0 for i in range(len(L)): if (len(L[i])>1): sum=sum+nested_sum(L[i]) else: sum=sum+L[i] return sum ``` The above code gives following error: object of type 'int' has no len() I also tried `len([L[i]])`, still not working. Anyone can help? It is Python 3.3