Python 寻找字典键的和

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为可迭代项添加条件。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程