该map()函数用于将函数应用于可迭代集合的所有项目,如列表,元组等,并在执行所应用函数中定义的功能后返回结果列表。
示例
给定温度列表,我们必须转换1)摄氏温度的所有值和2)华氏度的所有值-map()与lambda一起使用。
1)方法1:使用常规方法
#函数定义转换温度 从c到f def ctof(c): f=9/5*c+32 return f #函数定义转换温度 从f到c def ftoc(f): c=5/9*(f-32) return c # 值列表 temp=[12,45,6,78,5,26,67] print("Orignal Data : ",temp) #列出磁偏角以存储温度。在C cel=[] for t in temp: x=ftoc(t) cel.append(x) print("Celcuis Data : ",cel) #列出磁偏角以存储温度。在F far=[] for t in temp: x=ctof(t) far.append(x) print("Farenhiet Data : ",far)
输出结果
Orignal Data : [12, 45, 6, 78, 5, 26, 67] Celcuis Data : [-11.11111111111111, 7.222222222222222, -14.444444444444445, 25.555555555555557, -15.0, -3.3333333333333335, 19.444444444444446] Farenhiet Data : [53.6, 113.0, 42.8, 172.4, 41.0, 78.80000000000001, 152.60000000000002]
2)方法2:map()与lambda一起使用
# 值列表 temp=[12,45,6,78,5,26,67] print("Orignal Data : ",temp) # 使用map和lambda将值转换为cel cel=list(map(lambda f:5/9*(f-32),temp)) print("Celcuis Data : ",cel) # 使用map和lambda将值转换为far far=list(map(lambda c:9/5*c+32,temp)) print("Farenhiet Data : ",far)
输出结果
Orignal Data : [12, 45, 6, 78, 5, 26, 67] Celcuis Data : [-11.11111111111111, 7.222222222222222, -14.444444444444445, 25.555555555555557, -15.0, -3.3333333333333335, 19.444444444444446] Farenhiet Data : [53.6, 113.0, 42.8, 172.4, 41.0, 78.80000000000001, 152.60000000000002]