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) 
  • Wie bekomme ich den Index eines maximalen Elements in einem numpy Array entlang einer Achse
  • Python: Maximale Daten suchen
  • Python: Maximale Rekursionstiefe überschritten
  • Auswählen von Max-Elementen aus der Liste mit dem Eingabewert Python
  • Python-Wie finde ich größte / kleinste int / long / float / komplexe Zahlen mein System kann [duplizieren]
  • Numpy: Dot Produkt mit max statt Summe
  • Drucken Sie den Schlüssel des Max-Wertes in einem Wörterbuch die pythonische Art und Weise
  • Python: Nehmen Sie Max N Elemente aus einer Liste
  • Wie finde ich die Liste in einer Liste von Listen, deren Summe von Elementen am größten ist?
  • Mit Python's max, um zwei gleich große Werte zurückzugeben
  • Python Finding Index of Maximum in Liste
  • Python ist die beste Programmiersprache der Welt.