I have a dataframe of lists that look like this:
alist = ['male','male', 'male','female','male, '0', 'female','female','female','male', 'female']
        ['0','female', 'male','female','female, 'male', 'male','male','female','male',]
Now, i want to set all 'male' values nested between 'females' to zero, and vice versa, so as to have a list of non-overlapping values.
['male','male', 'male','0','male, '0', 'female','female','female','0', 'female']
['0','female', '0','female','female, 'male', 'male','male','0','male',]
I have tried this:
 for i in alist:
        rules1 = [ i == 'male',   
             i + 1 == 'female',
              i - 1 == 'female']
        rules2 = [ i == 'female',   
             i + 1 == 'male',
              i - 1 == 'male']
        if all(rules1) or all(rules2):
            i = 0
        else:
            i = i
    return alist   
fixlist_['new_tags'] = fixlist_.apply(find_start, axis=1)       
I am doing something wrong, but i cant seem to catch it. this code returns an error
----> 9              i + 1 == 'cons',
     10               i - 1 == 'cons']
     11         rules2 = [ i == 'cons',   
TypeError: ('can only concatenate str (not "int") to str', 'occurred at index 0')
Thanks all.
 
     
     
    