dimanche 6 novembre 2016

How to eliminate recursion in Python function containing control flow

I have a function of the form:

def my_func(my_list):
    for i, thing in enumerate(my_list):
        my_val = another_func(thing)

        if i == 0:
            # do some stuff
        else:
            if my_val == something:
                return my_func(my_list[:-1])
            # do some other stuff

The recursive part is getting called enough that I am getting a RecursionError, so I am trying to replace it with a while loop as explained here, but I can't work out how to reconcile this with the control flow statements in the function. Any help would be gratefully received!

Aucun commentaire:

Enregistrer un commentaire