列表推导式替代 Python 中的 reduce()

2024-01-09

以下 python 教程说:

列表推导式完全替代 lambda 函数以及函数map(), filter() and reduce().

http://python-course.eu/python3_list_compressive.php http://python-course.eu/python3_list_comprehension.php

但是,它没有提到列表理解如何替代列表理解的示例reduce()我想不出一个例子来说明它是如何可能的。

请有人解释如何通过列表理解实现类似归约的功能或确认这是不可能的?


理想情况下,列表理解是创建一个新列表。引用官方文档 https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions,

列表推导式提供了一种创建列表的简洁方法。常见的应用是创建新列表,其中每个元素都是应用于另一个序列或可迭代的每个成员的某些操作的结果,或者创建满足特定条件的这些元素的子序列。

whereas reduce用于将可迭代对象减少为单个值。引用functools.reduce https://docs.python.org/3/library/functools.html#functools.reduce,

将两个参数的函数从左到右累加到序列项上,以便将序列减少为单个值.

因此,列表理解不能用作reduce.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

列表推导式替代 Python 中的 reduce() 的相关文章

随机推荐