Ich habe eine Liste, die wie folgt aussieht:Finding maximaler und minimaler Indizes in Listen in Python
trial_lst = [0.5, 3, 6, 40, 90, 130.8, 129, 111, 8, 9, 0.01, 9, 40, 90, 130.1, 112, 108, 90, 77, 68, 0.9, 8, 40, 90, 92, 130.4]
Die Liste eine Reihe von Experimenten darstellen, die jeweils mit einem Minimum und einem Maximum-Index. Zum Beispiel oben in der Liste, die minimale und maximale würden wie folgt aussehen:
Experiment 1:
Min: 0.5
Max: 130.8
Experiment 2:
Min: 0.01
Max: 130.1
Experiment 3:
Min: 0.9
Max: 103.4
erhielt ich die Werte für jedes Experiment oben, weil ich weiß, dass jedes Experiment bei etwa Null beginnt (wie 0,4, 0,001, 0,009 usw.) und endet bei etwa 130 (130, 131,2, 130,009 usw.). Sie können sich vorstellen, dass sich eine Düse ein- und ausschaltet. Wenn es angeschaltet wird, steigt der Druck und wenn er ausgeschaltet wird, sinkt der Druck. Ich versuche, die minimalen und maximalen Werte für jedes Experiment zu berechnen.
Was ich bis jetzt versucht habe, besteht darin, die Liste zu durchlaufen, um zuerst jeden Index als Maximum zu markieren, aber ich kann nicht scheinen, das richtig zu machen.
Hier ist mein Code. Irgendwelche Vorschläge, wie ich das ändern kann?
for idx, item in enumerate(trial_lst):
if idx > 0:
prev = trial_lst[idx-1]
curr = item
if prev > curr:
result.append((curr, "max"))
else:
result.append((curr, ""))
Ich bin auf der Suche nach einem manuellen Weg, um dies zu tun, keine Bibliotheken.
'max ((a, i) für (i, a) in enumerate (trial_lst)) 'und' min ((a, i) für (i, a) in enumerate (trial_lst)) 'gibt Ihnen die Max/Min-Werte und ihre Indizes, aber ich nicht Sehen Sie, wie die Experimente zusammenhängen. – jq170727
Vielen Dank für den Vorschlag, aber das liefert nur den Wert min und seinen Index – natalien
Der Titel Ihrer Frage stimmt nicht mit dem überein, was Sie fragen. Auch, wo sind die Bezeichnungen in deiner Liste für die verschiedenen Experimente ??? –