import itertools

key_list = ['a', 'c', 'f']
wrong_list = ['a', 'b', 'c', 'd', 'e', 'f']
wrong_list_fixed = [['a', 'b'], ['c', 'd', 'e'], ['f']]

class key:
    def __init__(self, key_list):
        self.last = -1
        self.key_list = key_list
    def __call__(self, item):
        try:
            self.last = self.key_list.index(item, self.last + 1)
        except ValueError:
            pass
        return self.last

wrong_list_fixed = [list(g) for k, g in itertools.groupby(wrong_list, key(key_list))]
print(wrong_list_fixed)