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

Пользователь

от kenya , в категории: Python , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@kenya  Чтобы посчитать сумму значений в словаре, вы можете циклом перебрать все значения и сложить их в одной переменной. В цикле нужно воспользоваться методом .items() словаря


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
book_costs = {
    'Shining' : 10,
    'Bag of Bones' : 15,
    'The Green Mile' : 12,
    'The Dead Zone' : 13,
    'On Writing: A Memoir of the Craft' : 17
} # Словарь с названиями книг и их ценами в долларах

total_cost = 0

for key, value in book_costs.items(): # Циклом перебираем ключ, значение у словаря с использованием .items()
    total_cost += value # К финальной цене прибавляем цену отдельной книги

print(total_cost) # Выводим результат

# Вывод : 67


Пользователь

от bernardo_nolan , 2 года назад

@kenya 

Вы можете использовать функцию sum() с итератором, который возвращает значения словаря:

1
2
3
my_dict = {'a': 1, 'b': 2, 'c': 3}
total = sum(my_dict.values())
print(total)


Результат: 6


Если вы хотите посчитать сумму ключей словаря, вы можете использовать такой же подход с итератором, который возвращает ключи:

1
2
3
my_dict = {'a': 1, 'b': 2, 'c': 3}
total = sum(my_dict.keys())
print(total)


Однако это не будет работать если ключи не числовые.