È concettualmente corretto sommare un vettore di booleani? Da un punto di vista matematico, direi che non lo è: True + True != 2 . Ma è abbastanza pratico farlo ancora! Esempio utilizzando la libreria Python vettorizzata numpy :
In [1]: X = rand(10)
In [2]: large = X>0.6
In [3]: large.dtype
Out[3]: dtype('bool')
In [4]: large.sum()
Out[4]: 7
Non mi piace, ma è molto pratico. È una buona pratica?
Aggiornamento : l'obiettivo è contare il numero di valori veri in un vettore. \
Aggiornamento 2013-02-18 : ho appena scoperto la funzione numpy count_nonzero fa esattamente ciò di cui ho bisogno in modo corretto. Ciò significa che, per quanto riguarda Python , non è necessario utilizzare il modo "sporco".