Suma elementos en la lista de Python solo si los elementos en una lista booleana separada son Verdaderos
Tengo dos listas de python,
A = [ 1, 2, 3, 4, 5 ]
B = [ True, False, False, True, True ]
Las listas A y B tienen la misma longitud.
Quiero sumar solo los elementos en A que corresponden a elementos verdaderos en B. Sé que puedo hacer eso con algo como:
sum([A[x] for x in xrange(len(A)) if B[x]])
pero me preguntaba si había una solución más elegante que no implicara recorrer elementos en cada lista.