Я предложил бы Sqlite для локального устройства хранения данных. От последнего сравнительного теста я работал, это было намного лучше, чем SqlCe, и Вы не должны делать, глупым вещам нравится, сохраняют открытое соединение для повышений производительности.
Компромиссы, являющиеся, что комплект инструментальных средств менее богат и интеграция с другими продуктами MSSql является нолем.: (
For clarity:
num_true = sum(1 for condition in d.values() if condition)
For conciseness (this works because True is a subclass of int with a value 1):
num_true = sum(d.values())
В Python 2. *
sum (d.itervalues ()) немного менее кратко, чем sum (d.values ())
многие предлагают (еще 4 символа ;-), но избегают ненужной материализации списка значений и, таким образом, экономят память (и, возможно, время), когда вам приходится иметь дело с большим словарем.
Как отмечали некоторые, это отлично работает , потому что bools - это целые числа (в частности, подкласс):
>>> False==0
True
>>> False+True
1
следовательно, нет необходимости в описательных if
предложениях.