Heim > Backend-Entwicklung > Python-Tutorial > Wie haben sich „Filter', „Mapping' und „Reduce' von Python 2 auf Python 3 geändert?

Wie haben sich „Filter', „Mapping' und „Reduce' von Python 2 auf Python 3 geändert?

Mary-Kate Olsen
Freigeben: 2024-12-01 20:42:11
Original
963 Leute haben es durchsucht

How Did `filter`, `map`, and `reduce` Change from Python 2 to Python 3?

Entwicklung von Filter, Map und Reduce in Python 3

Beim Übergang von Python 2 zu 3 erfuhr das Verhalten von Filter, Map und Reduce wesentliche Änderungen .

Ansichten und Iteratoren statt Listen

Um die Effizienz zu fördern, Karte und Filter geben jetzt Iteratoren anstelle von Listen zurück. Beispielsweise gab filter(f, range(2, 25)) in Python 2 eine Liste der gefilterten Werte zurück, während es in Python 3 einen Iterator zurückgab. Eine einfache Lösung besteht darin, den Iterator explizit mithilfe von list(map(...)) in eine Liste umzuwandeln. Eine elegantere Lösung umfasst jedoch häufig Listenverständnisse oder eine Umstrukturierung des Codes, um die Notwendigkeit einer Liste zu beseitigen.

Entfernung von Reduce

Python 3 hat die integrierte Reduce-Funktion entfernt. Stattdessen wird empfohlen, bei Bedarf functools.reduce zu verwenden. Wie jedoch in der Dokumentation festgestellt wird, ist eine explizite for-Schleife im Allgemeinen besser lesbar und für 99 % der Fälle geeignet.

Fazit

Diese Änderungen zielten darauf ab, die Effizienz zu verbessern und Design der integrierten Funktionen von Python 3. Durch Befolgen der in der Dokumentation bereitgestellten Anleitungen können Entwickler Iteratoren und alternative Ansätze effektiv nutzen, um in Python 3 eine ähnliche Funktionalität wie ihr Python 2-Code zu erreichen.

Das obige ist der detaillierte Inhalt vonWie haben sich „Filter', „Mapping' und „Reduce' von Python 2 auf Python 3 geändert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage