dict nach max min werten durchsuchen anhand von vorgaben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Donnerstag 31. Dezember 2009, 14:31

Guten Tag

ich habe ein dict 365 Datensätzen

ein Datensatz sieht wie folgt aus
('Datum' : 2009-12-21 , 'Hoch' : 12.5 , 'Tief : 12.45)
absteigend von 31.12 -01.01 im dict abgelegt

ich suche nun für einen bestimmten Zeitraum z.b. von 2009-07-01 bis 2009-08-01
den maximalwert von Hoch
danach den minimal wert im gegebenen Zeitraum aber mit Datum kleiner
des maximal wert Datums

gibt es da eine einfache Vorgehensweise oder muss ich das dict mehrmals mit unterschiedlichen Index durchlaufen .

Mein Gedankenweg ist sehr kompliziert
A durchlaufe dict suche index von zeitraum -> ergibt 2 werte zB 182 und 85 das höhere datum hat einen niederen index
B erneuter Suchlauf des Dict suche innerhalb dieser Indexwerte nach dem Maximum merke Index Maximum, Datum Maximum und Wert
C durchlaufe Dict von Index Maximum zu Index Kleinstes gegebenes Datum suche Minimum Datum und Wert

Sehr umständlich das geht doch bestimmt einfacher ?
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Donnerstag 31. Dezember 2009, 14:46

Ja, per list comprehension

Code: Alles auswählen

dataset = [item for item in dictionary.values() if datetime.date(2009, 7, 1) <= item.Datum < datetime.date(2009,8,1)]
minimum = min(item.Tief for item in dataset)
Übrigens lässt sich dein Beitrag dank willkürlicher Rechtschreibung und Zeilenumbrüchen kaum verstehen.
Antworten