8-3 Python的map()函数
本节编程练习不计算学习进度,请电脑登录imooc.com操作

Python的map()函数

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f依次作用在list的每个元素上,map()函数会返回一个迭代器,可以依次迭代得到原来list的元素被函数f处理后的结果。

​>>> map(f, list)

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]。
如果希望把list的每个元素都作平方,就可以利用map()函数。



我们定义需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
    return x*x

for item in map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]):
    print(item)

得到结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

任务

假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

输入:['alice', 'BOB', 'CanDY']
输出:['Alice', 'Bob', 'Candy']

  1. # Enter a code
  2.  
下一节