python - Python 中的延迟映射函数

标签 python map iterator lazy-evaluation

有没有办法让 map 变得懒惰?或者是否有另一种内置在 Python 中的实现?

我想要这样的东西:

from itertools import count

for x in map(lambda x: x**2, count()):
    print x

当然,上面的代码不会结束,但我想在 for 中输入任何条件(或更复杂的逻辑)并在某个点停止。

最佳答案

使用itertools.imap在 Python 2.x 上或升级到 Python 3.x

你也可以只使用一个更 pythonic 的简单生成器表达式:

foo = (x**2 for x in count())

关于python - Python 中的延迟映射函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285134/

相关文章:

python - 如何使用 out.write() 将整数值写入文件?

list - 使用 Map 而不是 FlatMap 将 List[Option[A]] 转换为 Option[List[A]]

java - 在 Java 中转换迭代器类型

Scala Map#get 和 Some() 的返回

java - 谁能告诉我为什么我的旧列表包含所有应该只存在于新列表中的值。?

python - 遍历字符串的行

python - 是否有一个Python包可以解析带有节的可读数据文件

python - [GAE]模板中如何设置 `inline`

python - 为什么这个 if 语句不返回 True?

pointers - 如何通过 Go 中的 map 指针更改/访问 map 实例的值?