map() 会根据提供的函数对指定序列做映射。
专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业邢台县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 扩展资料
map() 函数语法:
map(function, iterable, ...);
参数:
function -- 函数;
iterable -- 一个或多个序列
map函数的用法如下:
map(func, lst) ,将传⼊的函数变量 func 作⽤到 lst 变量的每个元素中,并将结果组成新的列表 (Python2)/ 迭代器(Python3) 返回。
注意:
map()返回的是一个迭代器,直接打印map()的结果是返回的一个对象。
map函数示例代码:
lst = ['1', '2', '3', '4', '5', '6']
print(lst)
lst_int = map(lambda x: int(x), lst)
# print(list(lst_int))
for i in lst_int:
print(i, end=' ')
print()
print(list(lst_int))
1 map()函数的简介以及语法:
map是python内置函数,会根据提供的函数对指定的序列做映射。
map()函数的格式是:
map(function,iterable,...)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
2 map()函数实例:
del square(x):
return x ** 2
map(square,[1,2,3,4,5]) ---- -要打印结果需要 print(*map(square,[1,2,3,4,5])),这块打印了再打印就会为空
# 结果如下:
[1,4,9,16,25]
通过使用lambda匿名函数的方法使用map()函数:
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])
# 结果如下:
[3,7,11,15,19]
通过lambda函数使返回值是一个元组:
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])
# 结果如下
[(8,5),(16,6),(6,7)]
当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
map(None,[2,4,6],[3,2,1])
# 结果如下
[(2,3),(4,2),(6,1)]
通过map还可以实现类型转换
将元组转换为list:
map(int,(1,2,3))
# 结果如下:
[1,2,3]
将字符串转换为list:
map(int,'1234')
# 结果如下:
[1,2,3,4]
提取字典中的key,并将结果放在一个list中:
map(int,{1:2,2:3,3:4})
# 结果如下
[1,2,3]
原文链接:
一个简单的例子:将一个list中所有元素平方,常规的做法如下图所示,虽然实现了这个功能,但并没有给人一目了然的感觉。若换成map来实现,则会好很多。
1、map函数介绍及其简单使用
上述用一个简单的例子演示的map函数的用法及其优势,下面将详细介绍map函数的用法:map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每一个元素,并把结果作为新的Iterable返回。其语法格式为:
map(function,iterable...)
function---函数名
iterable---一个或多个序列
map作为高阶函数,事实上它把运算规则抽象了,我们可以用这种方式计算任意复杂的函数,再比如,把一个list的所有数据转为string类型:
再举一个小例子,对list中的各个元素开方,一步到位:
!注意:在使用math自带函数时,只需要函数名即可
2、map函数与lambda函数结合使用,下面方法同样可以达到对list中的数二次方的目的
map函数与lambda函数结合使用,可以传入两个参数相加:
还可以同时计算多个值:
map在python2返回list,在python3返回iterator.
如果想在python3得到可以反复重用的list,只要把iterator转成list即可:
lst_result = list(map(func, items))
Python2 的 map 函数将函数 func 应用到一个序列的每个元素,或者多个序列的相同索引位置对应的元素,最终返回一个 list。
Python3 的 map 函数与 Python2 功能一致,最后返回的是一个 map 对象。可以通过 list() 函数将 map 对象转为一个 list 列表。