Главная страница » Как сложить значения в словаре python

Как сложить значения в словаре python

  • автор:

Как сложить все значения в словаре?

Скажем, у меня есть словарь, в котором ключи сопоставляются с целыми числами:

Есть ли синтаксически минималистический способ вернуть сумму значений в d -i.e. 62 в этом случае?

3 ответа

Как и следовало ожидать:

В Python < 3 вместо этого вы можете использовать itervalues (который не создает временный список).

В Python 2 вы можете избежать временной копии всех значений с помощью метода словаря itervalues() , который возвращает итератор ключей словаря:

В Python 3 вы можете просто использовать d.values() , потому что этот метод был изменен для этого (и itervalues() был удален, поскольку он больше не нужен).

Чтобы упростить запись независимого от версии кода, который всегда выполняет итерации по значениям ключей словаря, полезная функция может быть полезна:

Как сложить все значения в словаре?

Допустим, у меня есть словарь, в котором ключи отображаются на целые числа, такие как:

Есть ли синтаксически минималистичный способ вернуть сумму значений в d — т.е. 62 в этом случае?

7 ответов

Как и следовало ожидать:

Sum (d.values ()) — «d» -> Ваш словарь Переменная

Конечно, есть. Вот способ суммировать значения словаря.

Я чувствую, что sum(d.values()) — самый эффективный способ получить сумму.

Вы также можете попробовать функцию Reduce для вычисления суммы вместе с лямбда-выражением:

Ответ phihag (и аналогичные) не будет работать в python3.

Для Python 3:

Обновить! Есть жалобы, что это не работает! Я просто прикрепляю скриншот из моего терминала. Может быть некоторое несоответствие в версиях и т. Д.

enter image description here

Вы можете сделать это с помощью цикла for

В Python 2 вы можете избежать создания временной копии всех значений, используя метод словаря itervalues() , который возвращает итератор ключей словаря:

В Python 3 вы можете просто использовать d.values() , потому что этот метод был изменен для этого (и itervalues() был удален, поскольку он больше не нужен).

Чтобы упростить написание независимого от версии кода, который всегда перебирает значения ключей словаря, может быть полезна служебная функция:

Как просуммировать значения в словаре?

Пожалуйста, подскажите, как просуммировать значения voices. Подозреваю, что их нужно не аппендить, а сразу складывать, но не знаю как это сделать.

Как в словаре сравнить 2 значения?
Доброго утра всем! Возникла такая проблема. У меня есть словарь. Ключ этого словаря строка, а.

Как вывести значения в словаре по ключу
Всем привет. Допустим есть словарь, где значением является экземпляр класса. Как вывести значения.

Как просуммировать значения в столбцах.
Проблема такая: имеются стобцы в таблице содержащие числовые значения и значения NULL. При.

Как получить все значения ключа в словаре?
Как получить все значения(Если их несколько) ключа в словаре и записать их в переменную?

How to sum all the values in a dictionary?

Let’s say I have a dictionary in which the keys map to integers like:

Is there a syntactically minimalistic way to return the sum of the values in d —i.e. 62 in this case?

martineau's user avatar

11 Answers 11

In Python 2 you can avoid making a temporary copy of all the values by using the itervalues() dictionary method, which returns an iterator of the dictionary’s keys:

In Python 3 you can just use d.values() because that method was changed to do that (and itervalues() was removed since it was no longer needed).

To make it easier to write version independent code which always iterates over the values of the dictionary’s keys, a utility function can be helpful:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *