在Python2中,map()函数会返回一个list列表。
但在Python3中,map()函数返回<map object at 0x000001FEE6DBFA58>,是一个迭代器对象(iterators)。

items = [1,2,3,4,5]
squared = map(lambda x: x**2, items)
print(squared)

# ---打印结果---
# <map object at 0x00000203CA64FA58>
# 使用next()函数,它允许我们获取一个序列的下一个元素

print(next(squared))
print(next(squared))
print(next(squared))
print(next(squared))
print(next(squared))

# ---打印结果---
# 1
# 4
# 9
# 16
# 25

由此可见map函数返回的是一个迭代器对象。
如果需要将返回的当作列表使用,必须使用list()函数,转换成list

items = [1,2,3,4,5]
squared = list(map(lambda x: x**2, items))
print(squared)

# ---打印结果---
# [1, 4, 9, 16, 25]