Dein Programm funktioniert nicht. Ich vermute "l == a". Du könntest es übrigens einfacher formulieren:
Wie definierst du denn den "richtigen" Index? Willst du bei "aba" die Ausgabe [2, 0, 1] haben? Was machst du bei "aaa"? Ist beim zweiten "a" das "richtige" A das erste oder das dritte? Solange du das nicht genau beschreiben kannst, kannst du auch kein Programm dafür schreiben. Wenn du den Algorithmus jedoch genau beschreiben kannst, hast du wahrscheinlich auch schon das Programm.
Mein Tipp: Suche alle Indizes (dazu hilft, das index ein weiteres Argument haben kann), filtere den aktuellen Index heraus, nimm das Minimum dieser Liste und sammle diese Ergebnisse wie zuvor.
Stefan