2012-02-07 10 views

Trả lời

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

(+1) Cùng tốc độ thực sự :) – NPE

10

Làm thế nào về:

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

1: Hai tâm trí làm việc tại cùng một tốc độ :) –

+6

Có hai ưu điểm của 'all' chức năng: 1) nó sẽ * ngắn mạch * tính toán và dừng lặp lại khi giá trị 'False' đầu tiên được tìm thấy và 2) nó được tích hợp sẵn để lặp lại chạy hoàn toàn trong mã C trong Python VM. –

1

tất cả() chức năng chấp nhận iterable và sẽ tự động đi qua tất cả các yếu tố và áp dụng bool cho mỗi trong số họ. Vì vậy, nó là đủ để viết:

already_inserted = all(bitfield)