/ / Min und Max eines Schlüssels in einem Python-Wörterbuch der Wörterbücher - Python, Wörterbuch

Min und Max eines Schlüssels in einem Python Dictionary of Dictionaries - Python, Wörterbuch

Ich habe ein Wörterbuch mit Wörterbüchern, die auf folgende Weise organisiert sind, wobei a, b, c, d, e, f, ... beliebige Zahlen sind

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

Was ist ein Weg (in Python 3), um den Minimal- und Maximalwert der Schlüssel a, b, c, d, e, f, ... zu ermitteln? Vorzugsweise als Einzeiler und nicht als for-Schleife.

Antworten:

3 für die Antwort № 1

Betrachten Sie das folgende Wörterbuch:

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

Sie können das Wörterbuch reduzieren, um die Schlüssel der verschachtelten Wörterbücher auf derselben Ebene zu erhalten:

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

3 für die Antwort № 2

Ein geschachteltes Generatorverständnis wird den Trick erfüllen. Der erste zieht die Wörterbücher aus dem äußeren Wörterbuch, der zweite die Schlüssel von diesen.

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