• 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)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

      递归有两个阶段

      阶段一:递推

      阶段二:回溯

  • 相关阅读:
    hdu4472-Count
    Codeforces Beta Round #55 (Div. 2)
    优化素数表
    Codeforces Beta Round #49 (Div. 2)-D. Physical Education
    Codeforces Beta Round #49 (Div. 2)-C. Little Frog
    一些不知道的函数
    kmp算法详解
    STL之accumulate用法小结
    STL——list学习笔记
    maven打war包包含源文件-eclipse
  • 原文地址:https://www.cnblogs.com/78pikaqiu/p/7056092.html
Copyright © 2020-2023  润新知