Python减少不再是内置的

示例

在Python 2中,reduce它可以作为内置函数使用,也可以从functools软件包(从2.6版开始)中获取,而在Python 3reduce中,仅可以从那里获得functools。但是,reducePython2和Python3中的语法相同,并且是reduce(function_to_reduce, list_to_reduce)。

例如,让我们考虑通过将每个相邻数字除以将列表减少为单个值。这里我们使用truediv功能从operator库。

在Python中,2.x它很简单:

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

在Python中3.x,示例变得更加复杂:

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

我们还from functools import reduce可以避免reduce使用名称空间名称进行调用。