python内置函数 --- map()

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

def square(x):
    return x ** 2

print(list(map(square,[1,2,3,4,5])))

print(list(map(lambda x:x ** 2,[1,2,3,4,5])))

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


#如果map()函数中的函数是多个参数,那么map传参的时候也应该传递多个序列.
tuple_a = map(lambda x, y : (x**y,x+y),[2,4,6],[3,2,1])
print(list(tuple_a))


def func1(x):
 # 对序列中的每一个元素乘以10并返回
 return x*10

x = map(func1,range(0,10))
print(1,list(x))
# map函数返回的迭代器只能迭代一次,迭代之后会自动清空
print(2,list(x))

import time

list1 = list()

#列表推导式效率 > map映射函数 > 普通for循环
# 普通for循环
start = time.perf_counter()
for i in range(0, 10000000):
    list1.append(i)
print("普通for循环耗时:", time.perf_counter() - start)

# 列表推导式
list1.clear()
start = time.perf_counter()
list1 = [i for i in range(0, 10000000)]
print("列表推导式循环耗时:", time.perf_counter() - start)

# map映射函数
list1.clear()
start = time.perf_counter()
list1 = list(map(lambda x: x, range(0, 10000000)))
print("map映射函数耗时:", time.perf_counter() - start)

#
# 四.重点总结
# 1.map函数的参数是由函数和一个序列或者多个序列构成;
#
# 2.map函数处理的结果是迭代器,而且只能迭代一次,如果需要多次使用,请提前保存;

输出:

[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25]
[3, 7, 11, 15, 19]
[(8, 5), (16, 6), (6, 7)]
1 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
2 []
普通for循环耗时: 2.924486336
列表推导式循环耗时: 0.8649257510000004
map映射函数耗时: 1.7162190639999997

Process finished with exit code 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

merlin’s girl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值