2012-02-07 11 views

risposta

11
already_inserted = all(bitfield[i] for i in indexes) 
+0

(+1) stessa velocità effettivamente :) – NPE

10

ne dite:

already_inserted = all(bitfield[i] for i in indexes) 
+0

+1: Due menti sempre alla stessa velocità :) –

+6

Ci sono due vantaggi del all' funzione ': 1) * cortocircuiterà * il calcolo e interromperà l'iterazione quando viene trovato il primo valore 'False' e ​​2) è integrato, quindi l'iterazione viene eseguita interamente nel codice C nella macchina virtuale Python. –

1

tutti() funzione accetta iterabile e passa automaticamente su tutti gli elementi e applicare bool a ciascuno di essi. Pertanto, è sufficiente scrivere:

already_inserted = all(bitfield)