Maison >développement back-end >Tutoriel Python >Comment « filtrer », « mapper » et « réduire » sont-ils passés de Python 2 à Python 3 ?
Dans la transition de Python 2 à 3, le comportement du filtre, de la cartographie et de la réduction a subi des changements substantiels .
Vues et itérateurs au lieu de listes
Pour promouvoir l'efficacité, map et filter renvoient désormais des itérateurs au lieu de listes. Par exemple, dans Python 2, filter(f, range(2, 25)) renvoie une liste des valeurs filtrées, tandis que dans Python 3, il renvoie un itérateur. Une solution simple consiste à convertir explicitement l'itérateur en liste en utilisant list(map(...)), mais une solution plus élégante implique souvent des compréhensions de liste ou une restructuration du code pour éliminer le besoin d'une liste.
Suppression de réduire
Python 3 a supprimé la fonction de réduction intégrée. Au lieu de cela, il recommande d'utiliser functools.reduce si nécessaire. Cependant, comme le note la documentation, une boucle for explicite est généralement plus lisible et appropriée dans 99 % des cas.
Conclusion
Ces changements visaient à améliorer l'efficacité et conception des fonctions intégrées de Python 3. En suivant les conseils fournis dans la documentation, les développeurs peuvent utiliser efficacement les itérateurs et les approches alternatives pour obtenir des fonctionnalités similaires à celles de leur code Python 2 dans Python 3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!