为了账号安全,请及时绑定邮箱和手机立即绑定

输出不了要的数字,而是说明filter这个函数

代码:

import math

def is_sqr(x):

    r = int(math.sqrt(x))

    return r*r==x

print(filter(is_sqr, range(1, 101)))


输出是这个<filter object at 0x00000000058722E8>,版本我用的是jupter notebook


正在回答

2 回答

import math
def is_sqr(x):
    r=int(math.sqrt(x))
    return r*r == x
print(list(filter(is_sqr,range(1,101))))

改成这样就可以显示数字了

1 回复 有任何疑惑可以回复我~

你用的Python3吧。python3返回filter对象,没毛病。filter对象本质上是个生成器,等效于(item for item initerable if function(item)) 。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

输出不了要的数字,而是说明filter这个函数

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号