Summe der Elemente in der Python-Liste nur, wenn die Elemente in einer separaten Booleschen Liste True sind

Ich habe zwei Python-Listen,

A = [ 1, 2, 3, 4, 5 ]
B = [ True, False, False, True, True ]

listen A und B sind gleich lang.

Ich möchte nur die Elemente in A zusammenfassen, die den wahren Elementen in B entsprechen. Ich weiß, dass ich das mit etwas machen kann, wie:

sum([A[x] for x in xrange(len(A)) if B[x]])

Aber ich habe mich gefragt, ob es eine elegantere Lösung gibt, bei der nicht in jeder Liste Elemente durchlaufen werden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage