Python字典中的键的最小值和最大值

时间:2017-09-14 21:03:15

标签: python dictionary

我有一个按以下方式组织的字典词典,其中a,b,c,d,e,f,...是任意整数

{key1: {a: value,
        b: value,
        c: value},
 key2: {d: value,
        e: value},
 keyX: {f: valueX}}

获取键a,b,c,d,e,f,......的最小值和最大值的方法(在Python 3中)是什么?优选作为一种类型的单线而不是用于循环。

2 个答案:

答案 0 :(得分:3)

考虑以下字典:

d = {1: {2: 3, 4: 5, 5: 4}, 2: {9: 10, 10: 9}}

您可以拼合字典以获取嵌套字典'同一级别的键:

min(subkey for key in d for subkey in d[key])
# returns 2

答案 1 :(得分:3)

嵌套的生成器理解可以解决问题。第一个从外部词典中提取词典,第二个从那些词典中提取键。

dic = {key1: {a: value,
              b: value,
              c: value},
       key2: {d: value,
              e: value},
       keyX: {f: valueX}}
min(k for inner in dic.values() for k in inner.keys())