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.
endpoints = []
prev = -1 # falls x > 0 für alle x aus a
for elem in a:
if elem < prev:
endpoints.append(prev)
prev = elem
endpoints.append(prev)
print endpoints
# [4, 6, 8]
Von diesen Zahlenfolgen möchte ich jeweils den größten Wert, also 4, 6 und 8.
Würde das ganze in einzelnen Listen stehen könnte ich mit max() den größten Wert ermitteln.
Da aber alles in einer Liste steht funktioniert max() nicht, da würde ja nur 8 rauskommen.
Mein Versuch mit der Schleife und der Bedingung < oder > als hat leider nicht funktioniert.
Ich hoffe mein Problem ist jetzt etwas deutlicher geworden.
tut mir leid, Deinen Beitrag verstehe ich nicht ganz. Wer oder was ist scipy? In meinem Python Buch finde ich jedenfalls nichts darüber.
Die Lösung von lutz.horn funktioniert wunderbar und liefert mir genau die Werte die ich brauche. Falls es aber noch andere Lösungsmöglichkeiten gibt, kein Problem ich bin für alles offen.
Aquerias hat geschrieben:tut mir leid, Deinen Beitrag verstehe ich nicht ganz. Wer oder was ist scipy? In meinem Python Buch finde ich jedenfalls nichts darüber.
Die Lösung von lutz.horn funktioniert wunderbar und liefert mir genau die Werte die ich brauche. Falls es aber noch andere Lösungsmöglichkeiten gibt, kein Problem ich bin für alles offen.
Sorry, ich dachte Du hast irgendwelche (!) Werte und wolltest lokale Maxima finden. Deine Werte haben aber offenbar eine Ordnung. Solange Du nicht davon abweichst, kein Problem.
Ansonsten: www.scipy.org - aber das führt hier zu nirgendwo hin.
items = [1,2,3,4,1,2,3,4,5,6,1,2,3,4,5,6,7,8 ]
container = [ [], [], [] ]
i = -1
for item in items:
if item == 1:
i+=1
container[i].append(item)
for i in container:
print max(i)
ist nicht optimal weil es 1 öfters hinzufügt als es soll, aber gibt zumindest 4, 6, 8 aus.