map
- map函数的作用
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
- 语法格式
map(function,iterable)
function可以填函数,也可以填数据类型
- 举例
python
a = ['1','2','3']
b = list(map(int,a))
print(b)
# [1, 2, 3]
在这个程序中我们将列表a中的字符用map函数转化为整形的列表并赋值给b变量。 并且本程序中我们看到了map函数与list函数混合运用的方法,这会是map函数运用是经常的搭档。
python
a = [-1,2,-5]
b = list(map(abs,a))
print(b)
print(a)
# 运行结果:[1, 2, 5] [-1, 2, -5]
<map object at 0x000001809CD03400>报错 对于python3运用map函数如果格式不当便会出现错误。我们首先来看一段代码
python
a = ['1','2','3']
b = map(int,a)
print(b)
# 运行结果 <map object at 0x000001625DBE1BB0>
在本程序中我们没有与list函数一起运用,程序出现错误。
python
a = ['1','2','3']
b = map(int,a)
print(type(b))
# 运行结果:<class 'map'>
我们可以看到,这个程序中我们可以看到b变量的类型为map。这是因为python3中map()返回iterators类型,不再是python2中的list类型。对此我们进行list转换即可。