首页 > 编程笔记 > Python笔记 阅读:77

Python map()函数的用法(附带实例)

map() 函数可接收两个参数,一个参数是函数,另一个参数是可迭代的对象。map() 函数将传入的函数依次作用到传入可迭代对象的每一个元素上,得到一个新的可迭代对象并返回。

例如,假设想要计算一个列表中每个整数的平方,则只需将平方函数 f(x)=x*x 和列表 [1,2,3,4,5] 传入 map() 函数就可以实现,代码如下:
old_list = [1,2,3,4,5]
def f(x):
    return x * x

new_list = map(f,old_list)
print(list(new_list))
执行结果为:

[1, 4, 9, 16, 25]

程序中 map() 函数返回的结果 new_list 是一个迭代器,由于迭代器是惰性序列,因此可以通过 list() 函数先把整个列表都计算出来后再输出。

注意,map() 函数不改变原有序列,只是返回一个新的序列。

由于列表中的元素有多种数据类型,因此 map() 函数不仅可以处理元素为数字的列表,还可以处理英文名列表。

例如,假设英文名列表没有按照首字母大写、其他字母小写的规则输入英文名,则可通过 map() 函数将这些不规范的英文名规范化:
bad_name = ['mESsI','XAvI','iNiEStA']

print(bad_name)
def CorrectName(name):
    return (name.lower()).capitalize()

good_name = map(CorrectName,bad_name)

print(list(good_name))
运行结果为:

['mESsI', 'XAvI', 'iNiEStA']
['Messi', 'Xavi', 'Iniesta']

相关文章