python—day13

Posted kermitjam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python—day13相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Python基础day13

使用 Python 代码片段编写 LaTeX 文档

Python代码阅读(第13篇):检测列表中的元素是否都一样

python—day13

python-fullstack-s13-day13-python基础

python学习day13