Каков наилучший способ агрегирования логических значений словаря Python? - PullRequest
7 голосов
/ 11 мая 2010

Для следующего словаря Python:

dict = {
    'stackoverflow': True,
    'superuser': False,
    'serverfault': False,
    'meta': True,
}

Я хочу объединить приведенные выше логические значения в следующее логическое выражение:

dict['stackoverflow'] and dict['superuser'] and dict['serverfault'] and dict['meta']

Вышесказанное должно вернуть мне False. Я использую ключи с известными именами выше, но я хочу, чтобы они работали так, чтобы могло быть большое количество неизвестных имен ключей.

1 Ответ

23 голосов
/ 11 мая 2010

в питоне 2.5 +:

all(dict.itervalues())

в питоне 3 +

all(dict.values())

dict - это неверное имя переменной, потому что это имя встроенного типа

Редактировать: добавить синтаксис для версии Python 3. values() создает представление в python 3, в отличие от 2.x, где он строит список в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...