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


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

示例

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

输入

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

输出

The key of the maximum value in a tuple:  tutorialspoint

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

使用的方法

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

  • 使用列表推导式、max()和values()函数

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

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

在这种方法中,我们将了解如何使用列表推导式、max()和min()函数来查找字典中最大值元组的键。

列表推导式

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

new_list = [expression for item in iterable if condition]

max()函数

max()方法(返回可迭代对象中最高值项目/最大数字)。

max_value = max(iterable)

dict.values()函数

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

value_list = dictionary.values()

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

算法(步骤)

以下是执行所需任务的算法/步骤:

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

  • 打印输入字典。

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

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

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

示例

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

# input dictionary having values as tuples 
inputDict = {'hello': ("p", 2), 'tutorialspoint': ("c", 15), 'python': ("k", 8)}
# printing input dictionary
print("Input dictionary:", inputDict)
# getting the maximum value from the values of the input dictionary 
# i.e, tuple 
maximumValue = max(inputDict.values(), key=lambda k: k[1])
# getting key with maximum value using list comprehension
maxKey = [k for k, v in inputDict.items() if v == maximumValue][0]
# printing the resultant dictionary key of the maximum value in a tuple
print("The key of the maximum value in a tuple: ", maxKey)

输出

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

Input dictionary: {'hello': ('p', 2), 'tutorialspoint': ('c', 15), 'python': ('k', 8)}
The key of the maximum value in a tuple:  tutorialspoint

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

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

lambda函数

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

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

语法

lambda arguments : expression

next()函数

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

语法

next(iterable, default)

算法(步骤)

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

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

  • 打印输入字典

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

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

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

示例

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

# input dictionary having values as tuples 
inputDict = {'hello': ("p", 2), 'tutorialspoint': ("c", 15), 'python': ("k", 8)}
# printing input dictionary
print("Input dictionary:", inputDict)
# Getting maximum value from the dictionary using max() function
maximumValue = max(inputDict.values(), key=lambda k: k[1])
# Getting the maximum value key using the next() function
maxKey = next(k for k, v in inputDict.items() if v == maximumValue)
# printing the resultant dictionary key of the maximum value in a tuple
print("The key of the maximum value in a tuple: ", maxKey)

输出

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

Input dictionary: {'hello': ('p', 2), 'tutorialspoint': ('c', 15), 'python': ('k', 8)}
The key of the maximum value in a tuple:  tutorialspoint

结论

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

更新于:2023年8月17日

浏览量:154

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.