python3和python2中的filter区别

版权声明:如需转载本文章,请保留出处! https://blog.csdn.net/xc_zhou/article/details/86743360

python3中的filter与python2中的是不一样的
其中,在python2中

filter(function, iterable)

filter返回的是一个list,可以直接使用它

#在python2中
q = filter(lambda x:x%2 == 0, range(1,10))
print(q)
#输出:「 2,4,6,8」

然而在python3中就不一样了;
filter返回的并不是一个list,而是一个filter对象
结果是:

<filter object at 0x7f5e4661dcc0>

应该将filter转换成list,如下:

q = list(filter(lambda x:x%2 == 0, range(1,10)))

猜你喜欢

转载自blog.csdn.net/xc_zhou/article/details/86743360