day5_ 匿名函数 与 内置函数

map
reduce
filter
max
min
zip的用法
sorted
lambda

######匿名函数
f=lambda x :x*2
JG=f(2)
print (JG)
######但是这样违背了 匿名函数的初衷
所以 lambda x :x*2 有独特的用处
#备注: 第一个x 相当于 函数 括号中的穿值,冒号后面相当于return


####max min sortedzip
salaries={
'la':3000,
'onda':100000000,
'pekut':10000,
'ayang':2000
}

# print (max(salaries)) -->这样 默认是按照 key去排序 ,但不是我们要的结果
#
# ZIP=zip(salaries.values(),salaries.keys())
#这里 zip做的是 将 括号内可迭代的内容 每迭代一次 将俩个值放入一个元祖,然后再作为迭代器
# print (max(ZIP)) -->这样操作虽然拿到了我们想要的结果,但是我又不太想看见那个数字
Max_people=max(salaries,key=lambda x:salaries[x]) #-->得出我们想要的结果
Min_people=min(salaries,key=lambda x:salaries[x])
Pai_Xu_xiao_da=sorted(salaries,key=lambda k:salaries[k])
Pai_Xu_da_xiao=sorted(salaries,key=lambda k:salaries[k],reverse=True)#-->反序

print ('最大的是',Max_people)
print ('最小的是',Min_people)
print ('排序',Pai_Xu_xiao_da)
print ('排序',Pai_Xu_da_xiao)

#####map reduce filter
li=[1,2,3,4,5]
需求 里面中 每个值 +10
LI=map(lambda x:x+10,li)
for i in LI:
print (i)

from functools import reduce
l=['la','onda','pekut']
#li=[1,2,3,4,5]
JG=reduce(lambda x,y:x+y,li) #-->将li 列表中的数字 逐个相加,
# print (JG)
JG2=reduce(lambda x,y:x+y,li,10) #-->将10 加入结果,然后和li表中 逐个相加 得出和
# print (JG2)

l=['la66','onda66','pekut']
name=filter(lambda x:"66" in x,l ) #-->找出列表中 包含关键字的内容 放入迭代器中
print (list(name))



















posted @ 2017-05-31 15:55  昂达达  阅读(179)  评论(0编辑  收藏  举报