# map 函数
# 我们先看map。map()函数接收两个参数，一个是函数，一个是Iterable，map将传入的函数依次
# 作用到序列的每个元素，并把结果作为新的Iterator返回   map高度抽象了这个过程

# 比如我们有一个函数f(x)=x2(x方)，要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上
def f(x):
	return x*x

l=map(f,[1,2,3,4,5,6,7,8,9])
print(list(l))
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
# 由于结果l是一个Iterator，Iterator是惰性序列，因此通过list()函数让它把整个序列都计算出来
# 并返回一个list

print(list(map(str,[1,2,3,4,5,6,7,8,9])))
# ['1', '2', '3', '4', '5', '6', '7', '8', '9']
