Иногда при работе со словарями Python у нас может возникнуть проблема, при которой нам потребуется просто суммировать выборочные значения ключей из словаря. Эта проблема может возникнуть в домене веб-разработки. Давайте обсудим некоторые способы, которыми можно решить эту проблему.
Метод № 1 : Использование понимания списка + get() + sum()
Комбинация вышеперечисленных функций может быть использована для выполнения этой конкретной задачи. В этом случае мы получаем доступ к значениям с помощью метода get и просматриваем словарь, используя понимание списка. Мы выполняем суммирование с помощью функции sum().
# Python3 code to demonstrate working of
# Selective Keys Summation
# Using list comprehension + get() + sum()
# Initialize dictionary
test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Initialize key list
key_list = ['gfg', 'best', 'CS']
# Using list comprehension + get() + sum()
# Selective Keys Summation
res = sum([test_dict.get(key) for key in key_list])
# printing result
print("The summation of Selective keys : " + str(res))
Выход :
Оригинальный словарь : {'CS': 5, 'best': 3, 'is': 2, 'gfg': 1, 'for': 4}
Суммирование выборочных ключей : 9
Метод № 2 : Использование itemgetter() + sum()
этой единственной функции может быть использовано для выполнения данной конкретной задачи. Он встроен для выполнения этой конкретной задачи. Он принимает цепочку ключей и возвращает соответствующие значения в виде кортежа, который может быть приведен к типу. Мы выполняем суммирование с помощью функции sum().
# Python3 code to demonstrate working of
# Selective Keys Summation
# Using itemgetter() + sum()
from operator import itemgetter
# Initialize dictionary
test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Initialize key list
key_list = ['gfg', 'best', 'CS']
# Using itemgetter() + sum()
# Selective Keys Summation
res = sum(list(itemgetter(*key_list)(test_dict)))
# printing result
print("The summation of Selective keys : " + str(res))
Выход:
Оригинальный словарь : {'CS': 5, 'best': 3, 'is': 2, 'gfg': 1, 'for': 4}
Суммирование выборочных ключей : 9