该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]