Python开发-map函数(提高程序运行效率)


map()函数  根据指定函数对指定序列做映射,在开发中使用map函数也是有效提高程序运行效率的办法之一

语法定义

'''
function:函数名
iterable:一个序列或者多个序列,实际上这就是function对应的实参
'''
map(function, iterable, ...)

返回值

返回值是迭代器,注意返回的结果只能迭代一次,如果需要多次使用请提前保存结果并处理

代码示例

def func1(x):
    # 对序列中的每一个元素乘以10并返回
    return x*10
'''
    map() 会根据提供的函数对指定序列做映射。
    序列中的每一个元素调用 func1 函数,返回新列表。
'''
x = map(func1,range(0,10))
print(list(x))
# map函数返回的迭代器只能迭代一次,迭代之后会自动清空
print(list(x))
print("***"*15)
# 将map函数返回的迭代器保存转为list,可以多次使用
y = list(map(func1,range(0,10)))
print(y)
print(y)

输出结果

 

 map函数与匿名函数一起使用

# 匿名函数:一个参数情况,传一个序列即可
x = list(map(lambda n:n*10,range(10)))  # 序列中的每个元素*10
print(x)    # 输出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

# 匿名函数:两个参数情况,传两个序列即可,依次类推
y = list(map(lambda a,b:a+b,[1,2,3],[4,5,6]))   # 两个序列相加
print(y)    #输出:[5, 7, 9]

效率对比

列表推导式 > map映射函数 > 普通for循环

总结

1,map函数的参数是由函数和一个序列或者多个序列构成

2,map函数处理的结果是迭代器,而且只能迭代一次,如果需要多次使用,请提前保存


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM