2016-08-28 4 views
1

Alle Antworten, die ich dazu gefunden habe, scheinen Sie müssen specify which key Sie möchten die max/min für z. Finding minimum values in a list of dicts.Max und Min Wert in der Liste der Dicts, wo jeder dict Schlüssel hat einen Wert

Ich habe eine Liste von dicts wie:

[ 
{ 
    1:34, 
    2:12, 
    3:24 
}, 
{ 
    1:121, 
    2:1211, 
    3:1891 
}, 
{ 
    1:191, 
    2:8991, 
    3:3232 
} 
] 

Also hier würde es 12 herausziehen und 8991.

Und ich möchte in dieser Liste die Maximal- und Minimal alle Werte zu finden, diktiert.

Wie mache ich das, ohne jeden Schlüssel einzeln angeben zu müssen (z. B. 1,2,3) - in der echten Version habe ich 20+.

Antwort

1

Sie können die Werte glätten, dann die min und max finden:

from itertools import chain 

flattened = list(chain(*(d.values() for d in list_of_dicts))) 
print(min(flattened)) 
print(max(flattened)) 
2

Sie eine Liste Verständnis oder Generator Ausdruck verwenden können.

max([max(d.values()) for d in data]) 
+0

Sie können einen Generator anstelle eines Verständnisses verwenden, indem Sie die '[]' entfernen. – TigerhawkT3

Verwandte Themen