Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. def nested_sum(L):
  2.  
  3. sum=0
  4. for i in range(len(L)):
  5. if (len(L[i])>1):
  6. sum=sum+nested_sum(L[i])
  7. else:
  8. sum=sum+L[i]
  9. return sum
  10.  
  11. def nested_sum(L):
  12. total = 0 # don't use `sum` as a variable name
  13. for i in L:
  14. if isinstance(i, list): # checks if `i` is a list
  15. total += nested_sum(i)
  16. else:
  17. total += i
  18. return total
  19.  
  20. def nested_sum(a) :
  21. total = 0
  22. for item in a :
  23. try:
  24. total += item
  25. except TypeError:
  26. total += nested_sum(item)
  27. return total
  28.  
  29. rec = lambda x: sum(map(rec, x)) if isinstance(x, list) else x
  30.  
  31. result = rec(a)
  32.  
  33. def flatten(L):
  34. '''Flattens nested lists or tuples with non-string items'''
  35. for item in L:
  36. try:
  37. for i in flatten(item):
  38. yield i
  39. except TypeError:
  40. yield item
  41.  
  42.  
  43. >>> sum(flatten([1,3,5,6,[7,8]]))
  44. 30
  45.  
  46. >>> sum( sum(x) if isinstance(x, list) else x for x in L )
  47. 30
  48.  
  49. def nested_sum(L):
  50. return sum( nested_sum(x) if isinstance(x, list) else x for x in L )
  51.  
  52. def add_all(t):
  53. total = 0
  54. for i in t:
  55. if type(i) == list: # check whether i is list or not
  56. total = total + add_all(i)
  57. else:
  58. total += i
  59. return total
  60.  
  61. def islist(x):
  62. return isintance(x, list)
  63.  
  64. def notlist(x):
  65. return not isinstance(x, list)
  66.  
  67. def nested_sum(lst):
  68. return sum(filter(notlist, lst)) + map(nested_sum, filter(islist, lst))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement