Иногда при работе со словарями Python у нас может возникнуть проблема, при которой мы хотим получить суммирование значений определенных ключей в словаре. Этот вид приложений может быть использован во многих областях, таких как повседневное программирование. Давайте обсудим некоторые способы, с помощью которых эта задача может быть выполнена.
Вход : test_dict = {‘Gfg’ : 4, ‘is’ : 2, ‘best’ : 7}, key_list = [‘Gfg’, ‘best’]
Выход : 11
Вход : test_dict = {‘Gfg’ : 4, ‘best’ : 7}, key_list = [‘Gfg’]
Выход : 4
Метод № 1 : Использование цикла
Это один из способов выполнения этой задачи. В этом случае мы выполняем итерацию для ключей целевого списка и суммируем соответствующие значения из словаря.
# Python3 code to demonstrate working of
# Selective Key Values Summation
# Using loop
# initializing dictionary
test_dict = {'Gfg' : 4, 'is' : 2, 'best' : 7, 'for' : 9, 'geeks' : 10}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing keys_list
key_list = ['Gfg', 'best', 'geeks']
# Selective Key Values Summation
# Using loop
res = 0
for key in key_list:
res += test_dict[key]
# printing result
print("The keys summation : " + str(res))
Выход:
Исходный словарь : {'Gfg': 4, 'is': 2, 'best': 7, 'for': 9, 'geeks': 10}
Суммирование ключей : 21
Метод № 2 : Использование sum()
+ понимание
списка Комбинация вышеперечисленных функций может быть использована для решения этой проблемы. В этом случае мы выполняем суммирование с помощью sum (), а понимание списка используется для выполнения итерационной задачи.
# Python3 code to demonstrate working of
# Selective Key Values Summation
# Using sum() + list comprehension
# initializing dictionary
test_dict = {'Gfg' : 4, 'is' : 2, 'best' : 7, 'for' : 9, 'geeks' : 10}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing keys_list
key_list = ['Gfg', 'best', 'geeks']
# Selective Key Values Summation
# Using sum() + list comprehension
res = sum([test_dict[key] for key in key_list])
# printing result
print("The keys summation : " + str(res))
Выход:
Исходный словарь : {'Gfg': 4, 'is': 2, 'best': 7, 'for': 9, 'geeks': 10}
Суммирование ключей : 21