Python Language Réduire n'est plus un intégré


Exemple

Dans Python 2, la reduce est disponible soit en tant que fonction intégrée, soit à partir du paquet functools (version 2.6 et functools ), tandis qu'en Python 3, la reduce n'est disponible qu'à partir de functools . Cependant, la syntaxe pour reduce à la fois dans Python2 et Python3 est identique et est reduce(function_to_reduce, list_to_reduce) .

Par exemple, considérons la réduction d'une liste à une valeur unique en divisant chacun des nombres adjacents. Ici, nous utilisons la fonction truediv de la bibliothèque d' operator .

Dans Python 2.x, c'est aussi simple que:

Python 2.x 2.3
>>> my_list = [1, 2, 3, 4, 5]
>>> import operator
>>> reduce(operator.truediv, my_list)
0.008333333333333333

Dans Python 3.x, l'exemple devient un peu plus compliqué:

Python 3.x 3.0
>>> my_list = [1, 2, 3, 4, 5]
>>> import operator, functools
>>> functools.reduce(operator.truediv, my_list)
0.008333333333333333

Nous pouvons également utiliser à from functools import reduce pour éviter d’appeler reduce avec le nom de l’espace de noms.