我是Python的新手(版本3.41),我在打印使用map和filter函数的结果时遇到问题。我怎样才能找到这些结果?
>>> def double(n):
return n*2
>>> li = [1,2,3]
>>> map(double, li)
<map object at 0x000000000333DCF8>
>>> print(map(double,li))
<map object at 0x000000000333DC50>
答案 0 :(得分:11)
尝试:
print(list(map(double,li))
或者:
for item in map(double,li):
print(item)
在Python 3.4中,map将返回一个迭代器而不是一个列表(就像在2.7+中一样)。就内存占用而言,这是很好的,但它不能很好地映射到打印(双关语)
答案 1 :(得分:-1)
或者:
mymap = map(double,li)
for item in mymap:
print(item)
对于初学者