Effizienter Weg um aus Listen eine Teilliste auszuwählen?
Verfasst: Samstag 2. Juni 2018, 22:09
Hallo,
ich würde gerne aus einem Liste von Messdaten nur einen bestimmten Zeitbereich auswählen. Habe das momentan gelöst wie unten angegeben. Aber ich habe gelesen, dass die slice Operation für lange Listen ineffizient ist, da sie jedesmal die referenzierten Listen Elemente in eine neue Liste kopieren muss. Gibt es da auch eine elegantere/schnellere Lösung, da bei mir die Liste schon so um 10000 Elemente lang ist?
Noch eine kleine Frage:
Wenn ich eine Auswahl treffe über b = [0:3] wenn a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] dann ist b = [0, 1, 2]. Intuitiv hätte ich gedacht b = [0, 1, 2, 3]. Heißt das wenn ich einen Startzeitpunkt und Endzeitpunkt festlege ich zum Endzeitpunktindex eigentlich immer +1 nehmen muss um die richtige Auswahl zu treffen?
Der Fehler ist wahrscheinlich bei extrem vielen Elementen vernachlässigbar klein aber würde mich trotzdem interessieren.
ich würde gerne aus einem Liste von Messdaten nur einen bestimmten Zeitbereich auswählen. Habe das momentan gelöst wie unten angegeben. Aber ich habe gelesen, dass die slice Operation für lange Listen ineffizient ist, da sie jedesmal die referenzierten Listen Elemente in eine neue Liste kopieren muss. Gibt es da auch eine elegantere/schnellere Lösung, da bei mir die Liste schon so um 10000 Elemente lang ist?
Code: Alles auswählen
data.analysis.staw = statistics.stdev(data.analysis.delta[data.start_index:data.end_index])
Wenn ich eine Auswahl treffe über b = [0:3] wenn a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] dann ist b = [0, 1, 2]. Intuitiv hätte ich gedacht b = [0, 1, 2, 3]. Heißt das wenn ich einen Startzeitpunkt und Endzeitpunkt festlege ich zum Endzeitpunktindex eigentlich immer +1 nehmen muss um die richtige Auswahl zu treffen?
Der Fehler ist wahrscheinlich bei extrem vielen Elementen vernachlässigbar klein aber würde mich trotzdem interessieren.