map()函数是Python内置的高阶函数,它接收一个函数f和一个list作为参数。通过将函数f依次应用于list的每个元素,map()函数会生成一个新的list并返回。
例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9],如果我们想要计算list中每个元素的平方,可以使用map()函数。我们只需要传入函数f(x)=x*x,即可利用map()函数完成这个计算:
def f(x):return x*x
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
输出结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
注意:map()函数不会修改原有的list,而是返回一个新的list。
利用map()函数,我们可以将一个list转换为另一个list,只需传入转换函数即可。由于list中的元素可以是任何类型,因此map()不仅可以处理包含数值的list,还可以处理包含任意类型的list,只要传入的函数f能处理这种数据类型。
任务:假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个包含若干不规范英文名字的list转换成一个包含规范英文名字的list。
输入:[‘adam’, ‘LISA’, ‘barT’]
输出:[‘Adam’, ‘Lisa’, ‘Bart’]
def format_name(s):s1 = s[0:1].upper() + s[1:].lower()return s1print(list(map(format_name, ['adam', 'LISA', 'barT'])))