刚开始我看到这个高阶函数的时候,认为这个肯定高深莫测。
等看完老师的讲解之后,我觉得好像也没有怎么难。我是站在小白位置发表言论啊,这个可能是入门容易,实际实现比较难。
1:map函数的使用方法
class map(object)
| 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
通过遍历可迭代的(iterables),把课迭代的内容送到函数(func)里面,然后得到我想要的结果。
map就是映射的意思,我给你一个可迭代的列表,你按照func定义的给我返回一个结果。
下面的例子就是,我分别把1,2,3,4,5传到lambda函数里面,经过lambda函数计算之后返回到一个新的列表里面。
这样我们就可以实现根据lambda函数的计算,把原列表构建出来一个新列表。
map1=map(lambda x:x*2,[1,2,3,4,5])
print(list(map1))
上面的返回值x*2 可以修改为任何你想要的结果,比如x+10,返回值就是这样:
2:扩展一下,如果按照map 函数的功能,我想实现下面的功能
map(func ,list) list里面是一堆人名,lily,lucy,boy,girl等,外国人的首字母都是大写,我想把首字母都修改为大写,如何实现?
names=['lily','lucy','boy','girl']
names2=map(lambda x:x.capitalize(),names)
print(list(names2))