Skip to content

map

  1. map函数的作用

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

  1. 语法格式
map(function,iterable)

function可以填函数,也可以填数据类型

  1. 举例
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转换即可。