Python程序查找字典键的总和
在这篇文章中,我们将学习一个Python程序来查找字典键的总和。
使用的方法
以下是完成此任务的各种方法 -
使用for循环
使用dict.keys()和sum()函数
使用reduce()函数
使用items()函数
示例
假设我们已经获取了一个包含一些随机键值对的**输入字典**。我们现在将使用上述方法查找输入字典中所有**键**的**总和**。
输入
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
输出
Sum of keys of an input dictionary: 25
在上面的示例中,输入字典的键的总和为**4+1+10+2+8 = 25。**
方法1:使用For循环
算法(步骤)
以下是执行所需任务的算法/步骤 -。
创建一个变量来存储输入字典。
打印输入字典。
初始化一个**keysSum**变量为0,用于存储输入字典键的总和。
使用**for循环**遍历输入字典的键。
使用+运算符将当前键添加到keysSum变量。
打印输入字典键的总和。
示例
以下程序使用for循环返回输入字典中所有键的总和 -
# input dictionary inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} # printing the input dictionary print("Input Dictionary: ", inputDict) # storing the sum of keys of the input dictionary keysSum = 0 # traversing through the keys of an input dictionary for k in inputDict: # adding the current key to keysSum variable keysSum += k # printing the sum of keys of an input dictionary print("Sum of keys of an input dictionary:", keysSum)
输出
执行后,上述程序将生成以下输出 -
Input Dictionary: {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} Sum of keys of an input dictionary: 25
方法2:使用dict.keys()和sum()函数
**dict.keys()函数** - 提供一个视图对象,按插入顺序显示字典中所有键的列表
算法(步骤)
以下是执行所需任务的算法/步骤 -
使用**dict.keys()**函数获取输入字典的键,并使用**list()**函数将其转换为列表(返回可迭代对象的列表)。
使用**sum()**函数获取字典键的总和(返回可迭代对象中所有项目的总和)。
打印输入字典中所有键的总和。
示例
以下程序使用dict.keys()和sum()函数返回输入字典中所有键的总和 -
# input dictionary inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} print("Input Dictionary: ", inputDict) # getting the keys of the input dictionary and converting them into the list # and then getting the sum of dictionary keys keysSum = sum(list(inputDict.keys())) print("Sum of keys of an input dictionary:", keysSum)
输出
执行后,上述程序将生成以下输出 -
Input Dictionary: {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} Sum of keys of an input dictionary: 25
方法3:使用reduce()函数
reduce()函数
在Python中,reduce()函数迭代列表或其他可迭代数据类型中的每个项目,返回单个值。它位于functools库中。这比循环更有效。
语法
reduce(function, iterable)
Lambda函数
Lambda函数,通常称为“**匿名函数**”,与普通Python函数相同,只是它可以**无需名称**地定义。**def**关键字用于定义普通函数,而**lambda**关键字用于定义匿名函数。但是,它们仅限于一行表达式。与常规函数一样,它们可以接受多个参数。
语法
lambda arguments: expression
算法(步骤)
以下是执行所需任务的算法/步骤 -
使用import关键字从functools模块导入reduce函数。
使用lambda函数添加连续的字典键,并减少大小以生成单个元素(所有键的总和)。
打印输入字典中所有键的总和。
示例
以下程序使用reduce()函数返回输入字典中所有键的总和 -
# importing reduce function from functools module from functools import reduce inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} print("Input Dictionary: ", inputDict) # Add the keys and reduce it to a single number(sum) using reduce() function keysSum = reduce(lambda p, q: p + q, inputDict) print("Sum of keys of an input dictionary:", keysSum)
输出
执行后,上述程序将生成以下输出 -
Input Dictionary: {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} Sum of keys of an input dictionary: 25
方法4:使用items()函数
使用**dictionary.items()**函数使用for循环遍历字典中的元组。
**items()**函数返回一个视图对象,即它包含字典的键值对,作为列表中的元组。
示例
以下程序使用items()函数和for循环返回输入字典中所有键的总和 -
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} print("Input Dictionary: ", inputDict) # storing the sum of keys of the input dictionary keysSum = 0 # traversing through the keys, and values of an input dictionary for key, value in inputDict.items(): # adding the current key to keysSum variable keysSum += key print("Sum of keys of an input dictionary:", keysSum)
输出
执行后,上述程序将生成以下输出 -
Input Dictionary: {4: 10, 1: 30, 10: 50, 2: 70, 8: 90} Sum of keys of an input dictionary: 25
结论
在本文中,我们学习了4种不同的计算字典键总和的方法。我们还学习了如何使用lambda函数和reduce向可迭代项目添加条件。