python匿名函数和普通函数的区别,python 匿名类_1

  python匿名函数和普通函数的区别,python 匿名类

  

  匿名函数

  x,y : x y

  1.匿名的目的就是要没有名字,给匿名函数赋给一个名字是没有意义的。

  2.匿名函数的参数规则、作用域关系与有名函数是一样的。

  3.匿名函数的函数体通常应该是一个表达式,该表达式必须要有一个返回值。

  f=x,n:x ** n

  打印(f(2,3))

  希腊字母的第11个匿名函数的应用:**最大值、最小值、排序、映射、减少、过滤* *

  求工资最高的人:max

  薪水={

  埃贡:3000,

  亚历克斯的:100000000,

  吴佩琪 :10000,

  元昊:2000

  }

  第:号定义

  返回薪金[k]

  print(max(salary,key=get))#alex

  print(max(salary,key=lambdax:salaries[x])

  信息=[

  { 姓名: 埃贡,年龄 :18 ,工资 :3000},

  { 姓名:wxx ,年龄 :28 ,工资 :1000},

  { 姓名:lxx ,年龄 :38 ,工资 :2000}

  ]

  max(info,key=lambda DIC : int(DIC[ salary ]))

  马克斯([11,22,33,44,55])求工资最低的人:min

  薪水={

  埃贡:3000,

  亚历克斯的:100000000,

  吴佩琪 :10000,

  元昊:2000

  }

  print(min(薪金,key=lambda x :薪金[x])# 元号

  信息=[

  { 姓名: 埃贡,年龄 :18 ,工资 :3000},

  { 姓名:wxx ,年龄 :28 ,工资 :1000},

  { 姓名:lxx ,年龄 :38 ,工资 :200

  0'}

  ]

  min(info,key=lambdadic:int(dic['salary']))相关推荐:《Python视频》

  sort把薪资字典,按照薪资的高低排序

  

salaries={

  'egon':3000,

  'alex':100000000,

  'wupeiqi':10000,

  'yuanhao':2000

  }

  alaries=sorted(salaries)#默认按照字典的键排序

  print(salaries)

  #salaries=sorted(salaries,key=lambdax:salaries[x])#默认是升序排

  alaries=sorted(salaries,key=lambdax:salaries[x],reverse=True)#降序

  print(salaries)

  info=[

  {'name':'egon','age':'18','salary':'3000'},

  {'name':'wxx','age':'28','salary':'1000'},

  {'name':'lxx','age':'38','salary':'2000'}

  ]

  l=sorted(info,key=lambdadic:int(dic['salary']))

map 映射, 循环让每个元素执行函数,将每个函数执行的结果保存到新的列表中

  

v1=[11,22,33,44]

  result=map(lambdax:x+100,v1)#第一个参数为执行的函数,第二个参数为可迭代元素.

  print(list(result))#[111,122,133,144]

  names=['alex','wupeiqi','yuanhao','egon']

  res=map(lambdax:x+'_NB'ifx=='egon'elsex+'_SB',names)

  print(list(res))

reduce , 对参数序列中元素进行累积

  

importfunctools

  v1=['wo','hao','e']

  deffunc(x,y):

  returnx+y

  result=functools.reduce(func,v1)

  print(result)#wohaoe

  result=functools.reduce(lambdax,y:x+y,v1)

  print(result)#wohaoe

  fromfunctoolsimportreduce

  l=['my','name','is','alex','alex','is','sb']

  res=reduce(lambdax,y:x+''+y+'',l)

  print(res)

  #mynameisalexalexissb

filter , 按条件筛选

  

result=filter(lambdax:x>2,[1,2,3,4])

  print(list(result))

  v1=[11,22,33,'asd',44,'xf']

  #一般做法

  deffunc(x):

  iftype(x)==int:

  returnTrue

  returnFalse

  result=filter(func,v1)

  print(list(result))#[11,22,33,44]

  #简化做法

  result=filter(lambdax:Trueiftype(x)==intelseFalse,v1)

  print(list(result))

  #极简做法

  result=filter(lambdax:type(x)==int,v1)

  print(list(result))

  names=['alex_sb','wxx_sb','yxx_sb','egon']

  res=filter(lambdax:Trueifx.endswith('sb')elseFalse,names)

  res=filter(lambdax:x.endswith('sb'),names)

  print(list(res))#['alex_sb','wxx_sb','yxx_sb']

  ages=[18,19,10,23,99,30]

  res=filter(lambdan:n>=30,ages)

  print(list(res))#[99,30]

  salaries={

  'egon':3000,

  'alex':100000000,

  'wupeiqi':10000,

  'yuanhao':2000

  }

  res=filter(lambdak:salaries[k]>=10000,salaries)

  print(list(res))#['alex','wupeiqi']

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: