python之map函数
1.什么是map函数
map函数:将一个list转换成另一个新的list并返回,但是不改变原来的list列表,是python内置的高阶函数,接收参数f及一个list,具体如下:map(f,list)
2.map函数的使用
如果对一个list求平方,得到另一个list,则可以使用map函数实现,如下
def f(x):
return x*x
print map(f,[1,2,3,4,5,6,7,8,9])
输出结果如下:
[1,4,9,16,25,36,49,64,81]
从上面的输出结果可以看出,并不会返回改变原来的list,而是返回了一个新的list
举例:
首字母大写,其他小写
def format_name(s):
return s.capitalize();
L = map(format_name, ['adam', 'LISA', 'barT'])
print(list(L))
3.map函数python版本区别
- python2:map返回的是一个list
函数定义:
def map(function, sequence, *sequence_1):
return []
- python3:返回的是一个map对象
Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回list。
函数定义:
map(func, *iterables) --> map object
Make an iterator that computes the function using arguments from
each of the iterables. Stops when the shortest iterable is exhausted.
举例:
list01 = [1,3,5,7,9]
new_list1 = map(lambda x:x*2,list01)
print(new_list1)#调用map函数返回的是一个map对象
print(list(new_list1))#list函数将map对象转化为list