Скажем, у меня есть словарь, в котором ключи сопоставляются с целыми числами:
d = {'key1': 1,'key2': 14,'key3': 47}
Есть ли синтаксически минималистический способ вернуть сумму значений в d -i.e. 62 в этом случае?
Ответ 1
Как и следовало ожидать:
sum(d.values())
Ответ 2
В Python 2 вы можете избежать временной копии всех значений с помощью метода словаря itervalues(), который возвращает итератор ключей словаря:
sum(d.itervalues())
В Python 3 вы можете просто использовать d.values(), потому что этот метод был изменен для этого (и itervalues() был удален, поскольку он больше не нужен).
Чтобы упростить запись независимого от версии кода, который всегда выполняет итерации по значениям ключей словаря, полезная функция может быть полезна: