下面的python教程说:

列表理解是lambda函数以及函数map()filter()reduce()的完全替代.

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

然而,它没有提到一个例子,一个列表理解如何可以代替reduce(),我想不出一个例子,它应该如何成为可能.

请有人解释一下如何通过列表理解实现类似reduce的功能,或者确认这是不可能的?

推荐答案

理想情况下,列表理解就是创建一个新的列表.引用official documentation

List comprehensions provide a concise way to create lists.个常见的应用程序是创建新的列表,其中每个元素是应用于另一个序列或iterable的每个成员的某些操作的结果,或者创建满足特定条件的这些元素的子序列.

reduce用于将iterable简化为单个值.引用functools.reduce

将两个自变量的函数从左到右累加到序列项上,直到reduce the sequence to a single value.

因此,列表理解不能作为reduce的替代品.

Python-3.x相关问答推荐

使用Polars阅读按日期键分区的最新S3镶木地板文件

确定字符串的长度并提取前15或14个字符

如何使用Python将嵌套的XML转换为CSV

在Pandas 数据帧中为小于5位的邮政编码添加前导零

我没有';无法理解此TemplateDoesNotExist错误

无法使用xpath关闭selenium中的弹出窗口

基于Pandas列动态创建分箱,以使观测值数量或计数占总计数的1%.

使用 OpenCV 从图像中减go 一条线

在不使用字符串方法的情况下查找字符串最后一个单词的长度 - Python

BeautifulSoup 和 pd.read_html - 如何将链接保存到最终数据框中的单独列中?

通过 requests 库调用 API 获取访问令牌

Tkinter 窗口显示(无响应)但代码正在运行

str.format_map(mapping) 和 str.format 有什么区别

具有两个或多个返回参数的函数注释

pandas 中 df.reindex() 和 df.set_index() 方法的区别

使用 pytest.fixture 返回模拟对象的正确方法

迭代器也是可迭代的吗?

导入父目录进行简要测试

为什么 Python 不能识别我的 utf-8 编码源文件?

python中的绝对导入是什么?