2017-09-14 19 views
-2

的Python字典一鍵馬克斯我在下面的方式,其中A,B,C,d,E,F,......是任意整數Min和在詞典中

{key1: {a: value, 
     b: value, 
     c: value}, 
key2: {d: value, 
     e: value}, 
keyX: {f: valueX}} 
組織詞典的詞典

用什麼方法(在Python 3中)獲得按鍵a,b,c,d,e,f,...的最小值和最大值?最好作爲一類單行而不是循環。

+0

你能顯示預期輸出的樣子嗎? –

+0

這將是相同的想要min([a,b,c,d,e,f]) – Graytr

+0

@ChristianDean將返回最小或最大的頂級密鑰。 – blacksite

回答

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