python - 查找 python 字典中的最大值

标签 python

我有一个像下面这样的Python字典:

{    '1': {'a': '0.6', 'b': '0.8', 'c': '2','d': '0.5'},
     '2': {'a': '0.7', 'b': '0.9', 'c': '0.1','d': '0.2'},
     '3': {'a': '0.5', 'b': '0.8', 'c': '3'},
}

怎样才能得到下面的结果呢?

('2','a','0.7') ('2',b','0.9') ('3','c', '3') ('1','d', '0.5')

最佳答案

嗯,这是它的代码(只有 5 行):

total = []
for i in ['a', 'b', 'c', 'd']:
    kv = max(a.iterkeys(), key=(lambda key: float(a[key][i]) if i in a[key].keys() else -9.0))
    hv = a[kv][i]
    total.append((kv, i, hv))

print total

输出:

[('2', 'a', '0.7'), ('2', 'b', '0.9'), ('3', 'c', '3'), ('1', 'd', '0.5')]

-9.0 只是一个随机的低数字。

关于python - 查找 python 字典中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34525612/

相关文章:

python - 如何使用 xpath 和 for 循环(python)更改 xml 中的节点值?

python - 尝试使用 BeautifulSoup 从 Kayak 网站获取 href URL

python - 什么是生成方法?

Python SQL 插入语句不起作用

python - Tensorflow:张量 Tensor ("Placeholder:0", shape=(?, 3), dtype=float32) 不是该图的元素

python - DataGenerator TypeError : unsupported operand type(s) for *: 'generator' and 'float'

python - 导入错误 : cannot import name types

python - 使用 Python 和 libgpod (gtkpod) 从 Linux 将音乐加载到 iPod

python - 如何对具有多对多字段的 get_absolute_url 进行反向操作?

python - 使python程序在linux下独立可执行