Python map()函数的用法(附带实例)
map() 函数可接收两个参数,一个参数是函数,另一个参数是可迭代的对象。map() 函数将传入的函数依次作用到传入可迭代对象的每一个元素上,得到一个新的可迭代对象并返回。
例如,假设想要计算一个列表中每个整数的平方,则只需将平方函数 f(x)=x*x 和列表 [1,2,3,4,5] 传入 map() 函数就可以实现,代码如下:
注意,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']