python3和python2中的filter區別

周小董發表於2019-02-01

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)))

相關文章