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

Python字典中键的最小值和最大值,python,dictionary,Python,Dictionary,我有一本按以下方式组织的词典,其中a,b,c,d,e,f,。。。是任意整数 {key1: {a: value, b: value, c: value}, key2: {d: value, e: value}, keyX: {f: valueX}} (在Python3中)获取键a、b、c、d、e、f……的最小值和最大值的方法是什么,。。。?最好是作为排序的一行程序,而不是for循环。考虑以下字典: d = {1: {2: 3, 4: 5, 5:

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

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

(在Python3中)获取键a、b、c、d、e、f……的最小值和最大值的方法是什么,。。。?最好是作为排序的一行程序,而不是for循环。

考虑以下字典:

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

一个嵌套的生成器就可以做到这一点。第一个从外部字典中提取字典,第二个从外部字典中提取键

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())

你能展示一下预期的输出是什么样子的吗?这与想要min([a,b,c,d,e,f])@ChristianDean返回顶级键的最小值或最大值是一样的。这似乎是一个例子。你真正需要的是如何访问第二级密钥,可能会将它们放入列表中,因为在这之后,获取这样一个列表的最小值和最大值是很简单的。为什么不
min({subkey for key in d for subkey in d[key]})