python - 以元组中的固定元素为键,查找字典中的最大值
问题描述
我在这个论坛上搜索了高低,但我没有找到任何解决这个特定问题的方法。假设我有一本看起来像这样的字典:
d = {}
d['a', 0] = 0.12
d['a', 1] = 0.23
d['a', 2] = 0.53
d['b', 4] = 0.23
d['b', 5] = 0.40
d['b', 6] = 0.39
如何找到与固定第一个元素的最大值对应的键?例如,如果我想找到给我一个最大值的元组的第二个元素 fixed 'b'
,我应该怎么做?(在这种情况下,它应该返回 5,因为 0.40 是最大值)。
我试过max(d, key=d.get)[1]
了,但这给了我所有值的最大值的关键,所以 2. 有什么想法吗?
解决方案
如果您想根据字典中键中的值进行排序
def func(d,key):
new_dic = {}
for k,v in d.items():
if key in k :
new_dic.update({k:v})
return max(new_dic, key=lambda x:new_dic[x])
d = {}
d['a', 0] = 0.12
d['a', 1] = 0.23
d['a', 2] = 0.53
d['b', 4] = 0.23
d['b', 5] = 0.40
d['b', 6] = 0.39
print(func(d, 'b'))
# output ('b', 5)
否则,如果您想要整体结果,请使用
max(d,key=lambda x:d[x])
推荐阅读
- c++ - 未能获得磁偏角
- python - 在索引中选择日期
- angular - 向具有相同字段的formarray插入多个值
- python - 用一堆相互关联的函数在 Python 中创建一个类
- php - Vs Code 将代码标记为在 Laravel 中不是错误的错误。如何阻止它显示这些错误/任何错误?
- emv - ASC 122U NFC 读卡器与 EMV 非接触式卡兼容
- snowflake-cloud-data-platform - Azure ADF V2:将数组类型的管道参数传递给触发雪花过程的 Azure 函数
- javascript - Alpine.js 获取数据 api 并从 select 中绑定值
- visual-studio - 通过命令行使用 Visual Studio 部署到 VM 中的远程调试器
- html - 在 pug 模板引擎语言中传递变量的问题