草庐IT

reduce_dim

全部标签

python : can reduce be translated into list comprehensions like map, lambda 和过滤器?

在使用python编程时,我现在通过使用列表推导来避免使用map、lambda和filter,因为它更易于阅读并且在执行。但是reduce也可以替换吗?例如一个对象有一个操作符union(),它作用于另一个对象a1.union(a2),并给出第三个相同类型的对象。我有一个对象列表:L=[a1,a2,a3,...]如何将所有这些对象的union()与列表推导式结合起来,相当于:result=reduce(lambdaa,b:a.union(b),L[1:],L[0]) 最佳答案 reduce是notamongthefavoredfun

python - 名称错误 : global name 'reduce' is not defined

我是Python新手。你能告诉我下面的代码有什么问题吗?当我运行它时,我收到一条错误消息“NameError:未定义全局名称'reduce'”。我问过古尔格,但没用。:(defmain():defadd(x,y):returnx+yreduce(add,range(1,11))if__name__=='__main__':main() 最佳答案 我猜:您使用的是Python3,并且您正在学习专为Python2设计的教程。reduce函数由于不常用,在Python3的内置函数中被移除。它仍然在functools模块中可用,所以你可以这

python - 名称错误 : global name 'reduce' is not defined

我是Python新手。你能告诉我下面的代码有什么问题吗?当我运行它时,我收到一条错误消息“NameError:未定义全局名称'reduce'”。我问过古尔格,但没用。:(defmain():defadd(x,y):returnx+yreduce(add,range(1,11))if__name__=='__main__':main() 最佳答案 我猜:您使用的是Python3,并且您正在学习专为Python2设计的教程。reduce函数由于不常用,在Python3的内置函数中被移除。它仍然在functools模块中可用,所以你可以这

reduce() 的 Python 替代方案

有一个semi-famousarticlewrittenbyGuidohimself暗示reduce()应该走渡渡鸟的路并离开语言。它甚至被从Python3中的顶级函数降级(insteadgettingstuffedinthefunctoolsmodule)。对于许多其他函数式编程主食(map等),可以使用常见的清晰替代方案。例如,大多数时候map()最好写成列表推导式。我想知道是否有类似的“更Pythonic”替代reduce函数。我有一点函数式编程背景(尤其是ML),所以reduce()在考虑解决方案时经常会浮现在我的脑海中,但是如果有更好的方法来解决它们(没有展开对for循环的r

reduce() 的 Python 替代方案

有一个semi-famousarticlewrittenbyGuidohimself暗示reduce()应该走渡渡鸟的路并离开语言。它甚至被从Python3中的顶级函数降级(insteadgettingstuffedinthefunctoolsmodule)。对于许多其他函数式编程主食(map等),可以使用常见的清晰替代方案。例如,大多数时候map()最好写成列表推导式。我想知道是否有类似的“更Pythonic”替代reduce函数。我有一点函数式编程背景(尤其是ML),所以reduce()在考虑解决方案时经常会浮现在我的脑海中,但是如果有更好的方法来解决它们(没有展开对for循环的r

python - reduce() 有什么问题?

网上似乎有很多关于python3.0中reduce()函数的更改以及应该如何删除它的讨论。我很难理解为什么会这样;我发现在各种情况下使用它是很合理的。如果轻视只是主观的,我无法想象这么多人会关心它。我错过了什么?reduce()有什么问题? 最佳答案 正如Guido在他的Thefateofreduce()inPython3000中所说的那样帖子:Sonowreduce().ThisisactuallytheoneI'vealwayshatedmost,because,apartfromafewexamplesinvolving+or

python - reduce() 有什么问题?

网上似乎有很多关于python3.0中reduce()函数的更改以及应该如何删除它的讨论。我很难理解为什么会这样;我发现在各种情况下使用它是很合理的。如果轻视只是主观的,我无法想象这么多人会关心它。我错过了什么?reduce()有什么问题? 最佳答案 正如Guido在他的Thefateofreduce()inPython3000中所说的那样帖子:Sonowreduce().ThisisactuallytheoneI'vealwayshatedmost,because,apartfromafewexamplesinvolving+or

python - 使用 reduce() 的有用代码?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion这里有没有人有任何有用的代码在python中使用reduce()函数?除了我们在示例中看到的通常的+和*之外,还有其他代码吗?请参阅Fateofreduce()inPython3000通过GvR 最佳答案 除了+和*之外,我发现它的其他用途是与and和or,但现在我们有any和all来替换这些情况。foldl和foldr确实在Schem

python - 使用 reduce() 的有用代码?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion这里有没有人有任何有用的代码在python中使用reduce()函数?除了我们在示例中看到的通常的+和*之外,还有其他代码吗?请参阅Fateofreduce()inPython3000通过GvR 最佳答案 除了+和*之外,我发现它的其他用途是与and和or,但现在我们有any和all来替换这些情况。foldl和foldr确实在Schem

java - 在像 Stream.reduce() 这样的 API 中选择不变性的充分理由是什么?

审查Java8StreamAPI设计,我对Stream.reduce()上的通用不变性感到惊讶论据:Ureduce(Uidentity,BiFunctionaccumulator,BinaryOperatorcombiner)同一个API的一个看似更通用的版本可能对U的各个引用应用了协变/逆变。,如:Ureduce(Uidentity,BiFunctionaccumulator,BiFunctioncombiner)这将允许以下情况,目前这是不可能的://Assumingwewanttoreusethesetoolsallovertheplace:BiFunctionnumberAdd