[Solved] How to get number of occurences of items after certain item in list


Try this one-liner:

reduce(lambda acc, cur: acc + ([] if cur[1] == 'you' else [next((i[0] - cur[0] - 1 for i in list(enumerate(my_list))[cur[0]+1:] if i[1] == 'hello'), len(my_list) - cur[0] - 1)]), enumerate(my_list), [])

It will give an array where the nth element is the number of ‘you’s following the nth occurrence of ‘hello’.

e.g.
If my_list = ['hello', 'hello', 'hello', 'you', 'you', 'hello', 'you', 'hello', 'you', 'you', 'you'],

it will give: [0, 0, 2, 1, 3]

1

solved How to get number of occurences of items after certain item in list