if text_so_far:
    yield text_so_far
if __name__ == '__main__':
    message = '10100010011'
codes = {(97): '1', (98): '01', (107): '001', (114): '000'}
print(list(seach_replace(message, codes)))
Замена подстрок с помощью словаря в Python