Very quick and easy homework question. I have it running ok but I think there's a better
way to do it. A more Pythonic way.
Here's my code to recursively decrement each element of a list by 1.
l = range(30)
def recurseDecrMap(l, x = ):
if len(l) == 0:
You can use only one argument, in my opinion it is simpler:
def recurseDecrMap(l): if not l: return  else: return [l-1] + recurseDecrMap(l[1:])
But as @jamylak pointed out, the complexity of this algorithm is O(N^2), since
l[1:] creates a new list with references to the rest of the items in the list.
If you need efficiency, I'd recommend you using list comprehensions (Haidro's answer), but I suppose it is not a priority if you want it only for learning purposes.