I have some Python code that basically looks like this:
my_start_list = ...
def process ( my_list ):
#do some stuff
if len(my_list) > 1:
Here's what happening:
process(my_start_list)
.if
block is executed if len(my_list) > 1
, and there are no return statement there. Now, since the else
has not been executed and since that is the only place where you have the return clause, you return the default which is None
.To fix this, you'd want to return the list returned by process(my_list)
.
That is:
def process(my_list):
# do some stuff
...
if len(my_list) > 1:
return process(my_list)
else:
print(my_list)
return my_list