Seite 1 von 1

Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 13:20
von Duesentrieb
Hallo,
ich möchte Temeperaturwerte in einer Liste hinterlegen und vor dem speichern vergleichen.
Da die Messungen unregelmäßig erfolgen muss ich die Position des Sensors feststellen um dann den richtigen Messwert zu ziehen.

Beispiel:

Sensoren = [28-888123, 28-999123, 28-777123]
Messwert = [17.5, 0.3, 51.4]

Meine Frage:
Während der Messung erhalte ich jetzt den neuen Wert von Sensor 28-999123.
Um zu erfahren wie der letzte Wert (0.3) war, muss ich wissen an welcher Stelle der Sensor hinterlegt ist.

Wie finde ich diese heraus?

Re: Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 13:29
von kbr
@Duesentrieb: Du solltest für Deine Daten eine andere Datenstruktur verwenden. Pro Messung fällt an: Sensorkennung, Zeitpunkt, Messwert. Eine Datenbank wie SQLite wäre hier gut geeignet.

Re: Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 13:29
von snafu

Code: Alles auswählen

sensoren.index(gesuchter_sensor)
Viel sinnvoller ist aber die Ablage in ein Wörterbuch, wo die Sensoren die Schlüssel sind und als Werte eben die gemessenen Sensorwerte gesetzt werden (evtl auch als Liste falls man den Werteverlauf verfolgen möchte).

Re: Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 19:44
von Duesentrieb
Hallo,

vielen Dank für eure Unterstützung!

@kbr: Genau das mache ich bereits. Ab und an kommt es aber zu Messfehlern (z.B.+50C°). Um die zu verhintern möchte ich zunächst prüfen ob der neue Wert nur eine bestimmte Tolleranz vom alten abweicht.

@snafu: Das sieht gut aus. Ich versuche es später gleich mal aus

Re: Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 20:52
von kbr
Nun, dann könntest Du einfach ein Dictionary verwenden. Sensorkennung als key, zuletzt gemessener Wert als value.

Re: Position in der Liste feststellen

Verfasst: Mittwoch 27. Dezember 2017, 22:32
von Duesentrieb
Hallo kbr,

ich habe mal nachgelesen. Das hört sich genau nach dem an was ich brauche.

Vielen Dank für deinen Tipp!