课程
/后端开发
/Python
/python进阶
import math def is_sqr(x): r=int(math.sqrt(x)) return r*r==x print filter(is_sqr, range(1, 101))
2016-05-29
源自:python进阶 2-6
正在回答
filter(function or None, iterable) --> filter object
python3 起,filter 函数返回的对象从列表改为 filter object(迭代器)
追问:
谢谢!那么请问filter object可以如何使用?
追答:
filter object 是一个迭代器,所以支持迭代操作,比如 for 循环:
for item in a_filter_object: print(item)
或者你还是需要一个列表的话,可以这样得到它:
filter_list = [item for item in a_filter_object]
这个课程是以2.7版本的Python为平台运行的,py2和py3有一些语法不一样,比如py3里print后输出要有小括号括起来
啥语法错误啊?
感觉这跟版本没关系
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计