码迷,mamicode.com
首页 > 编程语言 > 详细

python—day13

时间:2018-04-02 20:13:51      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:对象   max   items   pytho   pos   ems   def   最小值   关系   

python_day13 

 

1、三元表达式: 

  *条件成立返回一个值

  *条件不成立返回一个值

def max(x,y):
  res = x if x>y else y
  print(res)
max(10,20)

 

2、递归

函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接调用函数本身;

def foo():
  print(‘666‘)
  doo()

def doo():
  print(‘hahaha‘)
  foo()

foo()

 

 

递归分为两个阶段:

1)回溯:

  注意:一定要在满足某种条件结束回溯,否则会无限递归

2)递推

def age():
  if n == 1:
    return 18
  return age(n-1)+2
age(5)

 

items = [1,[2,[3,[4,[5,[]]]]]]
def tell(l):
  for item in l:
    if type(item) in not list:
      print(item)
    else:
      tell(item)
tell(items)

 

总结:

  1、递归一定要有一个明确地结束条件

  2、没进入下一次递归,问题地规模都应该减少

  3、在python中没有尾递归优化

 

匿名函数:

  lambda 

 

强调:

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

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

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

max() :循环找出可迭代对象中的最大值

1 sal= {
2   kermit:200,
3    alex:100 ,  
4     egon:300
5 }
6 
7 print(max(sal,key=lambda x:sal[x]))

 

 

min() :循环找出可迭代对象中的最小值

 

 

 

1 sal = {
2    b:10,  
3    a:20 
4 }
5 
6 print(sal,min(key=lambda x:sal[x]))

 

 

sorted() :循环可迭代对象,将它们升序、降序

 

1 salaries={                
2     egon:3000,
3     alex:100000000,
4     wupeiqi:10000,
5     yuanhao:2000
6 }
7 
8 print(sorted(salaries,key=lambda x:salaries[x])) #升序
9 print(sorted(salaries,key=lambda x:salaries[x] reverse=True)) #降序

 

 

 

 

map() :循环可迭代对象,将值改变再映射回原位置

 

1 names=[alex,wupeiqi,yuanhao‘,‘kermit‘]
2 
3 res = map(lambda x:x+_sb ,names) #res编程迭代器
4 print(list(res))
5 res = map(lambda x:x+‘_NB‘ if x==‘kermit‘ else x+‘_SB‘,names)
6 print(res)

 

 技术分享图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术分享图片

 

python—day13

标签:对象   max   items   pytho   pos   ems   def   最小值   关系   

原文地址:https://www.cnblogs.com/kermitjam/p/8696010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!