Max () Funktion mit Python aus Loop

Ich versuche, ein Programm zu schreiben, um den Maximalwert eines Samples aus einem Ton zu bestimmen. Die Schleife gibt die Werte aller Samples zurück, aber ich kann nicht herausfinden, wie man das größte ausdruckt.

def largest(): f=pickAFile() sound=makeSound(f) for i in range(1,getLength(sound)): value=getSampleValueAt(sound,i) print max([value]) 

3 Solutions collect form web for “Max () Funktion mit Python aus Loop”

Versuchen:

 def largest(): f = pickAFile() sound = makeSound(f) value = [] for i in range(1, getLength(sound)): value.append(getSampleValueAt(sound, i)) print max(value) 

Oder

 def largest(): f = pickAFile() sound = makeSound(f) print max(getSampleValueAt(sound, i) for i in range(1, getLength(sound))) 

Mit Ihrem Code wird der value bei jeder Iteration überschrieben. Wenn du eine Liste mit allen Werten machst, kannst du dann max mit max .

Siehe auch:

Erinnern Sie sich nicht, dass wir mit Audiodaten zu tun haben. Mit möglicherweise Millionen von Proben. Wenn Sie mit etwas Effizientem sowohl in Raum und Zeit bleiben wollen, müssen Sie sich auf die weit weniger sexy:

 def largest(): f = pickAFile() sound = makeSound(f) max = getSampleValueAt(sound, 1) # FIX ME: exception (?) if no data idx = 2 while idx < getLength(sound): v = getSampleValueAt(sound, i) if v > max: max = v i += 1 print max 

Generator-basierte Lösung sind effizient auch in Begriff des Raumes, aber für Geschwindigkeit, konnte nichts eine schlicht-alte Imperativschleife in Python schlagen.

Habe es nicht getestet, aber vielleicht:

 def largest(): f=pickAFile() sound=makeSound(f) value = [ getSampleValueAt(sound,i) for i in range(1,getLength(sound)) ] print max(value) 
  • Name der Spalte, die den Maximalwert enthält
  • Python Vermeidung von Lambda für Schlüssel, der zwei Callables benötigt (Funktionszusammensetzung)
  • Finde die maximale Anzahl in einer Liste mit einer Schleife
  • Wie finde ich alle Positionen des Maximalwertes in einer Liste?
  • Python-Wie finde ich größte / kleinste int / long / float / komplexe Zahlen mein System kann [duplizieren]
  • Finden von spezifischen Strings innerhalb einer Spalte und finden das Maximum entsprechend dieser Zeichenfolge
  • Welches Maximum passt Python im Falle einer Krawatte?
  • RuntimeWarning: ungültiger Wert, der maximal angetroffen wird
  • Prüfen Sie, ob alle Werte in der Liste größer als eine bestimmte Zahl sind
  • Angesichts einer Matrix vom Typ `scipy.sparse.coo_matrix` wie man den Index und den Wert des Maximums jeder Zeile bestimmt?
  • Python ersetzen Werte in 2d numpy array
  • Python ist die beste Programmiersprache der Welt.