获取字典中具有最大值的Key

字典是Python中用于存储一组对象的数据结构字典有一组键和值,每个键和值都有一个关联的值。简单来说,我们可以说字典以键值对的形式存储数据。一对花括号"{}"创建一个没有值的字典。

键在字典中是唯一的,而值可能不是。键是唯一标识符。

什么是字典?

字典是一种类似于列表、元组和集合的数据结构。字典用于存储数据或一组对象。字典以键值对的形式存储数据。简单来说,我们可以说字典以键值对的形式存储数据。一对花括号"{}"创建一个没有值的字典。我们添加用逗号分隔的键:值。

句法:

dict = { key: value, "key": value, "key": "value" ..... }

我们来看一个简单的字典例子

1
2
3
4
5
6
7
8
9
10
dict = {"name": "Dhushi", "age": 6, "color": "white"}
 
for k in dict.keys():
    print(f'key: {k}')
 
for v in dict.values():
    print(f'value: {v}')
     
for key, value in dict.items():
    print(f'Key: {key} and value: {value}')
  1. 使用键(名称、年龄、颜色)和值(Dhushi、6、白色)将字典分配给变量 dict
  2. 首先,使用 for 循环和keys()方法仅打印键 => name、age、color,这将返回字典中存在的所有键
  3. 其次,使用for循环和values()方法仅打印values=> Dhushi, 6, white,这将返回字典中存在的所有值
  4. 最后,使用 for 循环和items()方法打印键和值,这将返回字典中存在的所有键和值
字典键和值

在结果中,我们看到首先使用keys()方法打印所有键,然后使用values()方法打印字典的所有值,最后使用items()方法获取键和值

你可以检查:For Loop with Two Variables in Python


使用max()函数

正如我们通过看到“max”一词所理解的,这意味着最大值。所以在这里,max()函数也 返回具有最高值的项目。让我们看一个如何使用它的示例。

示例1:

1
2
3
dict = {"Dhushi": 6, "Lee": 32, "Pink": 12}
 
print(max(dict, key = dict.get))
  1. 像我们通常那样将带有键值对的字典分配给变量 dict
  2. max()在这里,我们使用函数打印具有最大值的键
  3. 使用max()key 参数设置为 的函数来dict.get()查找并返回给定字典中最大值的键

max() 函数的语法

max(iterable, *iterables, key, default)
关键最大值

dict.get 是一个返回 dict 中相应键的值的函数。当 max 寻找最大值时,它使用 的返回值 key当我们传入 时 dict, max function它会迭代字典的键。max() 返回可迭代对象中最大的元素。

示例2:

zip()在此示例中,我们在 max 函数内使用函数。Python 的 zip() 函数定义为 zip(*iterables)。zip() 函数用于聚合或组合多个可迭代对象。

1
2
3
4
dict = {"Dhushi": 6, "Lee": 32, "Pink": 12}
  
result = max(zip(dict.values(), dict.keys()))[1]
print(result)
  1. 将带有键和值的字典分配给 dict 变量
  2. max()在结果变量中,我们使用函数和 zip() 函数存储最大值键
  3. 在这里,在 zip() 函数内部,我们迭代dict.values()值和dict.keys()键,从那里开始,max 进程同时处理键和值,打印 [1] 索引,这意味着这里的键。如果我们输入[0]索引,那么它将打印该值;如果我们不放任何东西,它将同时显示最大值和关键。

在结果中,我们得到键(Lee),因为它在其他键值对中具有最大值(32) 。

示例3:

在此示例中,我们将使用max() 函数内的lambda 函数来查找具有最大值的键。Lambda 是一个匿名函数,可以接受任意数量的参数。

1
2
dict = {'Dhushi':6, 'Lee':32, 'Pink': 100}
print(max(dict, key=lambda k: dict[k]))
  1. 将带有键和值的字典分配给 dict 变量
  2. 在这里,我们使用其中的 max 和 lambda 函数打印最大值键。该函数 key 只是返回应该用于排名的值,并 max() 立即返回所需的元素。
Lambda 最大密钥

结果中,我们得到密钥:Pink,其值为100,因此输出为Pink。

您可以检查:比较两个字典并检查键值对是否相等


结论

keys()在本文中,我们学习了如何创建字典以及如何使用and方法仅查找键和值values()items()方法用于显示字典的两个键值。我们使用该max() 函数来查找字典中的最大值。在 max 函数中,我们使用了ziplambda函数来帮助我们找到具有最大值的键。

更多主题可以参考Python的官方文档。