当前位置:首页 >> 编程语言 >> 【Python 必会技巧】获取字典中(多个)最大值(value)的键(key),大中电器网上商城店

【Python 必会技巧】获取字典中(多个)最大值(value)的键(key),大中电器网上商城店

0evadmin 编程语言 2
文件名:【Python 必会技巧】获取字典中(多个)最大值(value)的键(key),大中电器网上商城店 【Python 必会技巧】获取字典中(多个)最大值(value)的键(key)

先总结一下,分为以下四种情况:

情况一:最大值只有一个,只获取最大值(value)所对应的键(key)情况二:最大值只有一个,同时获取最大值(value)和所对应的键(key)情况三:最大值有多个,获取所有最大值(value)所对应的键(key) 情况一:最大值只有一个,只获取最大值的键

方法一:使用 get

>>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3}>>> print(max(dict, key=dict.get))four

方法二:lambda 匿名函数

>>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3}>>> print(max(dict, key=lambda i: dict[i]))four

方法三:operator 模块中的 itemgetter 函数

>>> import operator>>>>>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3}>>> print(max(dict.items(), key=operator.itemgetter(1))[0])four

operator 模块的 itemgetter 函数用于获取对象的哪些维的数据,参数为一些序号,以下举例说明:

>>> import operator>>>>>> a = [1, 2, 3, 4]>>> b = operator.itemgetter(0) # 定义函数b,获取对象的第0个域的值>>> print(b(a))1>>> b = operator.itemgetter(0, 1) # 定义函数b,获取对象的第0个和第1个域的值>>> print(b(a))(1, 2) 情况二:最大值只有一个,同时获取最大值和对应的键

方法一:operator 模块中的 itemgetter 函数

>>> import operator>>>>>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3}>>> print(sorted(dict.items(), key=operator.itemgetter(1), reverse=True)[0])('four', 4)

方法二:zip 方法

>>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3}>>> print(max(zip(dict.values(), dict.keys())))(4, 'four') 情况三:最大值有多个,获取所有最大值的键 >>> dict = {'two': 2, 'one': 1, 'four': 4, 'three': 3, 'four_1': 4}>>> max_list = []>>> max_value = max(dict.values()) # 利用 max 函数先找到最大 value>>> for m, n in dict.items(): # 遍历字典一遍找对应的 key 值if n == max_value:max_list.append(m)>>> print(max_list)['four', 'four_1']
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接