I have trouble pointing out what I do wrong in recursion subroutines.
The routine is:
def Validate(n):
    err=''
    for z in n:
        if type(z)==list:
            x=Validate(z)
            if x!='':
                err='%s%s, ' % (err,x)
        else:
            if 'err' in z:
                print ('...found err:',z)
                err='%s%s, ' % (err,z)
    return err
testpar=['test','err1','err2', ['suberr1','subb'],'isok' ,'lasterr']
print ("Result:",Validate(testpar))
The expected result is:
err1, err2, suberr1, lasterr,
but I get:
err1, err2, suberr1, , lasterr,
 
     
    