gpt4 book ai didi

python - `filter()` 在 Python 2.x 和 3.x 之间有变化吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:44 25 4
gpt4 key购买 nike

我用匿名函数为 filter() 尝试了许多不同的例子,但只要我在字符串上使用它,总是会得到奇怪的结果。下面是一个例子:

>>>print(filter(lambda x: x.isdigit(), "aas30dsa20"))
<filter object at 0x00000000035DE470>

如果不是字符串,一切正常。例如;

>>> print(list(filter(lambda x: x >= 30 and x <= 70, [x**2 for x in range(1,11)])))
[36, 49, 64]

顺便说一句,如果我去掉list()函数部分,就会出现类似string case的问题:

>>> print(filter(lambda x: x >= 30 and x <= 70, [x**2 for x in range(1,11)]))
<filter object at 0x00000000037BFDD8>

我在 Windows 7 上使用 Python 3.4.1。

最佳答案

是的。几个功能工具(最著名的是 filter()map())已更改为返回迭代器而不是 3.x 的序列。

关于python - `filter()` 在 Python 2.x 和 3.x 之间有变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com