python地图对象

时间:2014-06-17 09:46:19

标签: python map filter

我是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>

2 个答案:

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

对于初学者