map() 函数是Python 内置的高阶函数,它接收一个函数名 fun 和一个迭代对象(如列表list),对迭代对象中的每个元素进行函数fun 定义的操作,最终返回一个新的map 对象。
注意:
1、map() 函数不改变原对象,返回一个创建的新对象。
2、在Python2 中,map() 函数直接返回列表;Python3 中返回的是map object,可通过list(map(fun, list))
转化为列表。
函数原型:map(function, iterables)
参数:
- function:函数名
- iterables:可迭代对象,可以是列表、元组、字典、字符串等
返回值:map object
def fun(x):
return x*x # 返回x的平方
seq = [1, 2, 3, 4, 5]
print("返回map对象:", map(fun, seq))
print("将map对象转化为列表:",list(map(fun, seq)))
# 字符串:对字符串进行迭代时,迭代元素为字符。
str = "自歌自舞自风流"
sub = '自歌舞'
print("子串sub中每个字符在str中出现的次数:", list(map(str.count, sub)))
输出结果:
返回map对象: <map object at 0x009BF530>
将map对象转化为列表: [1, 4, 9, 16, 25]
子串sub中每个字符在str中出现的次数: [3, 1, 1]
map() 函数是对迭代对象中的所有元素做同一个操作,其映射关系可用下图简单表示: