zoukankan      html  css  js  c++  java
  • python内置函数、匿名函数、递归

    一、内置函数

      内置函数详解:http://www.runoob.com/python/python-built-in-functions.html

    二、匿名函数

      匿名函数就是不需要显示的指定函数

    1 #这段代码
    2 def calc(n):
    3     return n**n
    4 print(calc(10))
    5  
    6 #换成匿名函数
    7 calc = lambda n:n**n
    8 print(calc(10))

      匿名函数主要用来和其他函数搭配使用

    1 l=[3,2,100,999,213,1111,31121,333]
    2 print(max(l))
    3 
    4 dic={'k1':10,'k2':100,'k3':30}
    5 
    6 
    7 print(max(dic))
    8 print(dic[max(dic,key=lambda k:dic[k])])
    # 1 文件内容如下,标题为:姓名,性别,年纪,薪资
    # 
    # egon male 18 3000
    # alex male 38 30000
    # wupeiqi female 28 20000
    # yuanhao female 28 10000
    
    with open('b.txt',encoding='utf-8') as f:
        l1=[{'name':line.split()[0],'sex':line.split()[1],
            'age':line.split()[2],'salary':line.split()[3]}for line in f]
    
        # 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
        l4=[i['name'] for i in l1]
        print(list(map(lambda item:item.capitalize(),l4)))
    
        # 5 根据1得到的列表,过滤掉名字以a开头的人的信息
        l4=[i['name'] for i in l1]
        print(list(filter(lambda name:not name.startswith('a'),l4)))

    三、递归调用

      递归特性:

      1. 必须有一个明确的结束条件

      2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

      3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

      递归有两个阶段

      阶段一:递推

      阶段二:回溯

  • 相关阅读:
    子类构造函数 supper关键字
    匿名内部类
    IK 分词器 源码分析
    java重写equals方法
    java编程思想
    设置centos7默认运行级别
    centos7配置wordpress
    python安装tkinter
    centos 7编译安装apache
    关于python中带下划线的变量和函数 的意义
  • 原文地址:https://www.cnblogs.com/78pikaqiu/p/7056092.html
Copyright © 2011-2022 走看看