查找字典键的总和的Python程序
在本文中,我们将学习一个Python程序,用于查找字典键的总和。
使用的方法
以下是完成这个任务的各种方法-
- 使用for循环
-
使用dict.keys()和sum()函数
-
使用reduce()函数
-
使用items()函数
例子
假设我们已经输入了一个包含一些随机键值对的字典。现在,我们将使用上述方法查找输入字典的所有键的总和。
输入
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
输出
输入字典的键的总和:25
在上面的例子中,输入字典的键的总和为 4+1+10+2+8 = 25。
方法1:使用for循环
算法(步骤)
下面是执行所需任务的算法/步骤-
- 创建一个变量来存储输入字典。
-
打印输入字典。
-
为用于存储输入字典键和的结果的变量keysSum初始化值为0。
-
使用for循环遍历输入字典的键。
-
使用加号运算符将当前键添加到keysSum变量中。
-
打印输入字典的键的总和的结果。
例子
下面的程序使用for循环返回输入字典的所有键的和 –
# 输入字典
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
# 打印输入字典
print("输入字典:", inputDict)
# 存储输入字典的键的和
keysSum = 0
# 遍历输入字典的键
for k in inputDict:
# 将当前键添加到keysSum变量中
keysSum += k
# 打印输入字典键的总和
print("输入字典的键的总和:", keysSum)
输出
在执行上面的程序时,将生成以下输出-
输入字典:{4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
输入字典的键的总和:25
方法2:使用dict.keys()和sum()函数
dict.keys()函数 - 提供一个视图对象,它按插入顺序显示字典中所有键的列表
算法(步骤)
下面是执行所需任务的算法/步骤-
- 使用dict.keys()函数获取输入字典的键并使用list()函数(返回一个可迭代对象的列表)将其转换为列表。
-
使用sum()函数获得字典键的总和(返回一个可迭代对象中所有项的总和)。
-
打印输入字典中所有键的总和的结果。
例子
下面的程序使用dict.keys()和sum()函数返回输入字典的所有键的和 –
# 输入字典
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
print("输入字典:", inputDict)
# 获取输入字典的键并将其转换为列表
# 然后获得字典键的总和
keysSum = sum(list(inputDict.keys()))
print("输入字典中所有键的总和:", keysSum)
输出
执行上面的程序时,将生成以下输出-
输入字典:{4: 10,1: 30,10: 50,2: 70,8: 90}
输入字典键的总和:25
方法三:使用reduce()函数
reduce()函数
在Python中,reduce()函数遍历列表或其他可迭代数据类型中的每个项目,返回单个值。它在functools库中。这比循环更有效率。
语法
reduce(function, iterable)
Lambda函数
Lambda Function(λ函数)通常称为匿名函数,与普通Python函数相同,除了可以不 用名字定义 。def关键字用于定义正常函数,而lambda关键字用于定义匿名函数。它们只能用一行表达式表示。与普通函数一样,它们可以接受多个参数。
语法
lambda arguments: expression
算法(步骤)
要执行所需的任务,请按照以下算法/步骤执行 –
- 使用import关键字从functools模块导入reduce函数。
-
使用lambda函数添加连续的字典键并减小大小以生成单个元素(所有键的总和)。
-
打印输入字典的所有键的和的结果。
示例
以下程序返回使用reduce()函数计算输入字典所有键的和 –
#从functools模块导入reduce函数
from functools import reduce
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
print("输入字典:", inputDict)
# 使用reduce()函数将键相加并将其合并为单个数字(总和)
keysSum = reduce(lambda p, q: p + q, inputDict)
print("输入字典键的总和:", keysSum)
输出
执行以上程序后,将生成以下输出 –
输入字典:{4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
输入字典键的总和:25
方法四:使用items()函数
使用 dictionary.items() 函数以for循环遍历字典中的元组。
items() 函数返回一个视图对象,即它包含字典中的键值对,作为元组列表。
示例
以下程序使用items()函数和for循环返回输入字典所有键的和 –
inputDict = {4: 10, 1: 30, 10: 50, 2: 70, 8: 90}
print("输入字典:", inputDict)
# 存储输入字典键的总和
keysSum = 0
# 遍历输入字典的键和值
for key, value in inputDict.items():
# 将当前键添加到keysSum变量中
keysSum += key
print("输入字典键的总和:", keysSum)
输出
执行以上程序后,将生成以下输出 –
输入字典:{4: 10, 1: 30, 10: 50, 2: 70, 8:90}
输入字典键的总和:25
结论
在本文中,我们学习了4种不同的计算字典总键和的方法。我们还学习了如何使用lambda函数和reduce为可迭代项添加条件。