Gewusst wie: ausführen einer operation auf eine collection in Python und sammeln Sie die Ergebnisse?
Gewusst wie: ausführen einer operation auf eine collection in Python und sammeln Sie die Ergebnisse?
Also wenn ich eine Liste von 100 zahlen, und ich möchte, um eine Funktion auszuführen, wie dies für jede von Ihnen:
Operation ( originalElement, anotherVar ) # returns new number.
und sammeln das Ergebnis in etwa so:
Ergebnis = eine andere Liste...
Wie mache ich es? Vielleicht mit lambdas?
InformationsquelleAutor Joan Venge | 2009-03-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Liste Verstehens. In Python Sie so Aussehen:
Wobei f(x) ist eine Funktion und die bar ist eine Sequenz.
Können Sie festlegen, f(x) als eine partiell angewandte Funktion mit einem Konstrukt wie:
Wird wieder eine Funktion, die multipliziert die parameter von x. Ein triviales Beispiel für diese Art von Konstrukt verwendet, in einer Liste Verständnis sieht so aus:
Obwohl ich mir nicht vorstellen, mit dieser Art von Konstrukt in jedem, aber ziemlich esoterisch zu Fällen. Python ist keine echte funktionale Sprache, so hat es weniger Möglichkeiten, das zu tun, clevere tricks mit höherer Ordnung Funktionen als (sagen wir) Haskell. Sie können Anwendungen für diese Art von konstruieren, aber es ist nicht wirklich , dass pythonic. Sie könnte erreichen einer einfachen transformation mit so etwas wie:
Anderen (etwas abgeschrieben) Methode, dies zu tun ist:
def kevin(v):
return v*v
vals = range(0,100)
map(kevin,vals)
Liste Verstehens, generator-Ausdrücke, senken-Funktion.