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函数将其大小缩减为一个单一元素(所有键的总和)。
-
打印输入字典的所有键的结果和。
示例
以下程序使用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为可迭代项添加条件。