python 中的map(转载)

Python08

python 中的map(转载),第1张

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]

原文链接:https://blog.csdn.net/quanlingtu1272/article/details/95482253

       一个简单的例子:将一个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函数结合使用,可以传入两个参数相加:

还可以同时计算多个值: