blist = [0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0]
string = 'stackoverflow'
x = ''.join([('-' if b == 0 else s) for b, s in zip(blist, string)])
output = re.findall('(-+|[a-z]+)', x)
print(output)
Format string by binary list