Python liste compréhensions pour créer plusieurs listes

Je veux créer deux listes listOfA et listOfB pour stocker les indices de A et B à partir d'une autre liste s.

s=['A','B','A','A','A','B','B']

De sortie devrait être de deux listes

listOfA=[0,2,3,4]
listOfB=[1,5,6]

Je suis capable de le faire avec deux états.

listOfA=[idx for idx,x in enumerate(s) if x=='A']
listOfB=[idx for idx,x in enumerate(s) if x=='B']

Cependant, je tiens à le faire en une seule itération en utilisant la liste des compréhensions.
Est-il possible de le faire en une seule instruction?
quelque chose comme listOfA,listOfB=[--code goes here--]

source d'informationauteur Heisenberg