返回嵌套字典中每个键/值对的最低值(和关联键)

时间:2014-08-25 13:10:35

标签: python python-2.7 dictionary

我有一个类似于以下的字典(但是有更多的键和不同数量的嵌套值)。

defaultdict(<type 'list'>, {11: [139.04185], 3: [2.661], 5: [12.6, 63.046]})

我尝试返回每个键的最低值。即期望的结果是:

11   139.04185

3    2.661

5    12.6

我尝试使用重复的字典循环遍历字典,这导致了一个非常长且不幸的寻找循环;特别是因为重复的字典肯定不是解决方案。

此处还有其他关于字典中单个最大/最小值的问题,并使用&#39;列表来查找最大/最小值。钥匙,但我没有能够适应这个问题。

怎么能解决这个问题?

2 个答案:

答案 0 :(得分:4)

只需在dict上循环,打印每个键kd[k]值的最小值

for k in d:
    print("{:<6}{}".format(k, min(d[k])))
11    139.04185
3     2.661
5     12.6

如果您希望输出对齐

,请使用str.format's Format Specification Mini-Language

答案 1 :(得分:1)

从dict获取键和值会更快,d [k]可能会更慢

for k, v in d.items():
    print("{:<6}{}".format(k, min(v)))