一、map()函数的简介以及语法:
- map是python内置函数,会根据提供的函数对指定的序列做一一映射。
- Python map函数的格式:
map(function,iterable,....)
括号内第一个参数function代表着一个函数名(可以是我们自定义的一个函数或者Python的一个内置函数),第二个参数iterable代表着一个可迭代对象(例如:列表list、元组tuple、字典dict、集合set、字符串str),后面的省略号可以继续上传一个或者多个可迭代对象。
map()函数的作用就是将可迭代对象中的每一个元素依次带入function函数中去,并且返回一个map类型的序列(该数据类型不会显示出来,小白暂时也不会学到这个数据类型)。
二、map()函数的使用方法:
- 直接输出map数据类型得到的结果:
def fun(x):
return x*2
s = map(fun,[1,2,3,4])
print(s)
#输出的结果为:
<map object at 0x0000024DD1FE97B0># 0x0000024DD1FE97B0这串字符表示的是这个map数据类型在我的电脑内存当中的位置
因此当我们需要显示出map这个数据类型的时候,我们可以用一个“容器”去装载它,例如用列表list、元组tuple、集合set等。
- map()函数实例操作演示:
①基础案例
def fun(x):
return x*2
s = map(fun,[1,2,3,4])
print(list(s)) #这里用list()列表容器来装载返回的map数据类型
#输出的结果为:
[2, 4, 6, 8]
def fun(x):
return x*2
s = map(fun,[1,2,3,4])
print(tuple(s)) #这里用tuple()元组容器来装载返回的map数据类型
#输出的结果为:
(2, 4, 6, 8)
def fun(x):
return x*2
s = map(fun,[1,2,3,4])
print(set(s)) #这里用set()集合容器来装载返回的map数据类型
#输出的结果为:
{8, 2, 4, 6}
②其它案例
通过使用lambda匿名函数的方法使用map()函数:
s = map(lambda x : x*2 , [1,2,3,4]) #这里里用lambda匿名函数直接代替了function函数名
print(list(s))
#输出的结果为:
[2, 4, 6, 8]
当iterable可迭代对象是字典时,字典当中的键key会被依次带入function中运行
s = map(lambda x : x * 2 , {1:a , 2:b , 3:c})
print(list(s))
#输出的结果为:
[2, 4, 6]
③探究map函数的返回值的数据类型
def fun(x):
return x*2
s = map(fun,[1,2,3,4])
print(type(s))
#输出的结果为:
<class 'map'>
以上是今天的学习内容成果及个人学习小结,如有不足之处请各位大佬指教。