Спасибо!
без продакта с рекурсией не на много больше кода (это чтобы не быть балаболом) :)
def get_pins(observed):
err = {'0':'08', '1':'124', '2':'1235', '3':'236', '4':'1457', '5':'24568', '6':'3569', '7':'478', '8':'57890', '9':'689','0':'80'}
return [f + o for f in err[observed[0]] for o in get_pins(observed[1:])] if observed else ['']