Python Elemente in einer Liste basierend auf Elementen aus einer anderen wiederholen

Gaben die folgenden Listen:

a = [0, 5, 1]
b = [1, 2, 1]

Ich möchte jedes Element von [a] mit der Nummer seiner entsprechenden Position in [b] wiederholen, um Folgendes zu erzeugen:

[0, 5, 5, 1]

d.h. 0 tritt 1 Mal auf, 5 tritt 2 Mal auf und 1 tritt 1 Mal auf.