Python 程序用于查找字典中最大值元组的键

pythonserver side programmingprogramming更新于 2023/12/28 20:28:00

查找 Python 字典中最大值元组的键意味着识别与字典中所有元组中具有最高值的元组相关联的键,这对于从数据中检索最重要或最相关的信息很有用。

示例

假设我们已经获取了一个以元组为值的输入字典。现在,我们将使用上述方法在输入字典中找到最大值元组的键。

输入

inputDict = {'hello': ("p", 2), 'tutorialspoint': ("c", 15), 'python': ("k", 8)}

输出

元组中最大值的键:tutorialspoint

在上述输入字典中,元组中的最大值是 15,其对应的键是 tutorialspoint

使用的方法

以下是完成此任务的各种方法:

  • 使用列表comprehension、max() 和 values() 函数

  • 使用 max()、values() 和 next() 函数

方法 1:使用列表 comprehension、max() 和 values() 函数

在此方法中,我们将了解如何使用 comprehension max() 和 min() 函数查找字典中最大值元组的键。

列表 comprehension

当您希望基于现有列表的值构建新列表时,列表 comprehension 提供了更短/简洁的语法。

new_list = [expression for item in iterable if condition]

max() 函数

max() 方法(返回最高值项/最大数字) iterable)。

max_value = max(iterable)

dict.values() 函数

dict.values() 方法提供了一个视图对象,该对象按插入顺序显示字典中所有值的列表。

value_list = dictionary.values()

items() 函数返回一个视图对象,即它包含字典的键值对,作为列表中的元组。

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤 -。

  • 创建一个变量,将包含值的输入字典存储为元组

  • 打印输入字典。

  • 将给定的字典和键作为 lambda 函数传递,以查找字典的最大值。

  • 使用 items() 函数和列表推导式遍历字典的键值对,获取具有上述最大值的键。

  • 打印元组中最大值的结果字典键。

示例

以下程序使用列表推导式、max() 和 values() 函数返回元组中最大值的字典键

# 输入字典将值作为元组
inputDict = {'hello': ("p", 2), 'tutorialspoint': ("c", 15), 'python': ("k", 8)}
# 打印输入字典
print("输入字典:", inputDict)
# 从输入字典的值中获取最大值
# 即元组
maximumValue = max(inputDict.values(), key=lambda k: k[1])
# 使用列表推导获取具有最大值的键
maxKey = [k for k, v in inputDict.items() if v == maximumValue][0]
# 打印元组中最大值的结果字典键
print("元组中最大值的键: ", maxKey)

输出

执行时,上述程序将生成以下输出

输入字典:{'hello': ('p', 2), 'tutorialspoint': ('c', 15), 'python': ('k', 8)}
元组中最大值的键:tutorialspoint

方法 2:使用 max()、values() 和 next() 函数

此方法将演示如何在 python 中使用 max()、value() 和 next() 函数查找字典中最大值元组的键。

lambda 函数

lambda 函数是一个很小的匿名函数。

lambda 函数可以有无限/任意数量的参数,但只能有一个表达式。

语法

lambda 参数:表达式

next() 函数

返回迭代器中的下一个项,如列表、字符串元组等。如果可迭代对象到达末尾,则可以添加要返回的默认返回值。

语法

next(iterable, default)

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤

  • 创建一个变量以将包含值的输入字典存储为元组

  • 打印输入字典

  • 通过将给定的字典和键作为 lambda 传递来获取字典的最大值函数。

  • 使用 next() 函数遍历给定的字典项,并使用上面的 max 变量找到具有最大值的键。

  • 打印元组中最大值的结果字典键。

示例

以下程序使用 max()、values() 和 next() 函数返回元组中最大值的字典键

# 输入具有值作为元组的字典
inputDict = {'hello': ("p", 2), 'tutorialspoint': ("c", 15), 'python': ("k", 8)}
# 打印输入字典
print("Input dictionary:", inputDict)
# 使用 max() 函数从字典中获取最大值
maximumValue = max(inputDict.values(), key=lambda k: k[1])
# 使用 next() 函数获取最大值键
maxKey = next(k for k, v in inputDict.items() if v == maximumValue)
# 打印结果字典中最大值的键
print("元组中最大值的键: ", maxKey)

输出

执行时,上述程序将生成以下输出

输入字典:{'hello': ('p', 2), 'tutorialspoint': ('c', 15), 'python': ('k', 8)}
元组中最大值的键:tutorialspoint

结论

在本文中,我们学习了 2 种不同的方法来查找元组中最大值的键一本字典。使用字典,我们学习了如何使用 items(.) 遍历字典的元素。此外,我们还学习了如何使用 next() 函数向字典添加迭代器。最后但并非最不重要的是,我们学习了如何在 max() 函数中使用任何自定义函数作为键。


相关文章