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

Returning lowest value (and associating key) for each key/value pair in a nested dictionary

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

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

我正在尝试返回每个键的最小值。即,预期结果为:

1
2
3
4
5
11   139.04185

3    2.661

5    12.6

我试过用一本重复的字典来循环查字典,结果是找了一个很长很不幸的循环,尤其是因为重复的字典,这肯定不是解决办法。

关于字典中的单个max/min值,以及使用键的"列表"查找max/min,这里还有其他问题,但我无法适应这个问题。

如何解决这个问题?


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

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

如果希望输出对齐,请使用str.format's格式规范迷你语言


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

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