zoukankan      html  css  js  c++  java
  • 匿名函数与内置函数(python3入门)

     1 #匿名函数:没有名字的函数,只有函数的内存地址,只能用一次就被回收
     2 # lambda x,y:x>y #当表达式执行完毕后,自动return值
     3 # 更多情况下,匿名函数都是和其他函数配合到一起使用
     4 
     5 
     6 from functools import reduce
     7 
     8 salaries = {
     9     'egon':3000,
    10     'alex':100000,
    11     'wuxx':2000,
    12     'yuanhao':40000
    13 }
    14 
    15 # print(max(salaries,key=lambda x:salaries[x]))   #max函数比较的是key中的表达式,而在比较出最大值后,return了字典的key
    16 # print(min(salaries,key=lambda y:salaries[y]))
    17 
    18 # print(sorted(salaries,key=lambda x:salaries[x]))    #类似max函数,比较的是字典的value,返回了一个从小到大的人名
    19 # print(sorted(salaries,key=lambda x:salaries[x],reverse=True))    #类似max函数,比较的是字典的value,返回了一个从大到小的人名
    20 
    21 
    22 # filter()
    23 
    24 
    25 
    26 
    27 
    28 
    29 # map()   #映射,按照某种映射规则产生新的值
    30 # names = ['alex','wxx','egon']
    31 # res = map(lambda x:'%s_sb'%x,names)
    32 # print(res,type(res))    #map返回一个迭代器对象
    33 # print(list(res))    #可以通过list来调出迭代器对象中的值
    34 # print(['%s_sb'%name for name in names]) #使用列表生成器打印新列表的内容
    35 # print('%s_sb'%name for name in names)   #使用列表生成器同样可以实现上述需求
    36 
    37 # reduce()    #合并字符串/数字相加
    38 # res = reduce(lambda x,y:x+y,range(1,101))   #1~100数字两两相加
    39 # print(res)
    40 
    41 #filter
    42 
    43 # names = ['alex_sb','wxx_sb','egon','old_sb']
    44 # res = filter(lambda x:x.endswith('sb'),names)
    45 # print(res)
    46 # print(list(res))    #遍历names列表,过滤出以sb结尾的元素,组成一个新列表
    47 # 
    48 # print([name for name in names if name.endswith('sb')])  #列表生成式也可以搞定
  • 相关阅读:
    AJAX基础
    DOM事件机制(事件捕获和事件冒泡和事件委托)
    http协议
    DOM实战-js todo
    python常见面试题
    jQuery快速入门
    三级菜单
    购物车
    员工信息表
    random模块
  • 原文地址:https://www.cnblogs.com/lich1x/p/10023733.html
Copyright © 2011-2022 走看看