python 3エラー:filter object at 0 x 7 f 0 ae 4 ce 0080


$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> #    
>>> cubes = [x ** 3 for x in range(1, 11)]
>>> print (filter(lambda x: x%3==0, cubes))
0x7f0ae4ce0080>

>>>#    
>>> print (list(filter(lambda x: x%3==0, cubes)))
[27, 216, 729]
>>> 

理由:python 3ではfilter,map,zipなどが反復可能なオブジェクトを返し,返すのは1つの要素だけであり,リストではないため,結果の前にlistを使用する必要がある.