前言
Map作为一种常见的python方法,在python代码学习中是必备方法;Map方法的作用对象是iterator,比如list,dictionary, tuple;Map方法的返回对象在python 2.x和 python 3.x略有差别;python2.x 中返回的是list类型对象,python3.x中返回的是iterator类型对象;Map方法的输入形式为 map(function, iterator),即对iterator中的元素分别做function处理;本文以python3.x为运行环境进行举例, 直接上料~
一、以list类型作为map的输入对象
我们的自定义一个简单任务,打印"a", “b”, “c” 三个字母的重写形式,即"aa", “bb”, “cc” ;
首先我们定义一个list,代码如下
a1 = ["a", "b", "c"]
然后我们定义一个方法func,用它来对list中的每个元素进行处理,代码如下:
def func(x):
return x*2
我们使用map完成字母重写并打印生成数据类型,代码如下
b1 = map(func, a1)
print(b1)
打印结果如下,
<map object at 0x7f9cd08e0390>
由此可见,map方法返回一个iterator类型的map对象
最后,我们把结果转化为list形式的结果,并打印
c1 = list(b1)
print(c1)
打印结果如下,
['aa', 'bb', 'cc']
OK,我们完成了map方法的初级使用;我们可以自行把该方法的输入拓展到其他iterator类型数据,同时使用不同function。
【注意:如果使用dictionary对象,那么function默认对dictionary的key做处理,不考虑value值】
这也是大家针对dictionary使用map方法时出现的常见错误!!!
下边我就用dictionary(字典)作为输入为大家展示一下map方法的使用~
二、以dictionary类型作为map的输入对象
我们定义的任务是,打印dictionary中key值的平方+1,作为输出
代码如下
a2 = {1:"a",2:"b",3:"l"}
def func(x):
return x**2 +1
b2 = map(func, a2)
print(b2)
c2 = list(b2)
print(c2)
打印结果如下,
<map object at 0x7f2cf5ffa470>
[2, 5, 10]
打印结果符合我们预期,如果想更熟练的应用map方法,请自己多写几个方法实现一下哦~
写在最后,希望本blog对你的python学习有所帮助,欢迎点赞讨论~