python中的map函数

1.map()函数的简介以及语法:

map() 会根据提供的函数对指定序列做映射

语法:

map(function,iterable,...)

第一个参数function接受一个函数名或者数据类型,后面的参数接受一个或多个可迭代的序列。
把function依次作用在iterable的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。

2.map()函数实例:

例1
列表a中的字符用map函数转化为整形的列表并赋值给b变量。
使用map函数与list函数混合运用的方法,这会是map函数运用时经常的搭档。

a = ['1','2','3']
b = list(map(int,a))
print(b)

运行结果:

[1, 2, 3]

例2
通过使用lambda匿名函数的方法使用map()函数:

map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])

# 结果如下:
[3,7,11,15,19]

例3
通过lambda函数使返回值是一个元组

map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])

# 结果如下
[(8,5),(16,6),(6,7)]

例4
当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组

map(None,[2,4,6],[3,2,1])

# 结果如下
[(2,3),(4,2),(6,1)]

3.报错

a = ['1','2','3']
b = map(int,a)
print(b)

运行结果
<map object at 0x000001625DBE1BB0>

我们可以看到,这个程序中我们可以看到b变量的类型为map。

a = ['1','2','3']
b = map(int,a)
print(type(b))

运行结果:
<class 'map'>

python3中map()返回iterators类型,不再是python2中的list类型。对此我们进行list转换即可。

你可能感兴趣的:(python,开发语言)