Встроенный в оценке выражения - PullRequest
9 голосов
/ 07 февраля 2012

Есть ли способ, которым я мог бы встроить это для цикла?

already_inserted = True
for i in indexes:
    already_inserted = already_inserted and bitfield[i]

Ответы [ 3 ]

11 голосов
/ 07 февраля 2012
already_inserted = all(bitfield[i] for i in indexes)
10 голосов
/ 07 февраля 2012

Как насчет:

already_inserted = all(bitfield[i] for i in indexes)
1 голос
/ 07 февраля 2012

Функция all () принимает итерацию и автоматически перебирает все элементы и применяет bool к каждому из них. Поэтому достаточно написать:

already_inserted = all(bitfield)
...