zoukankan      html  css  js  c++  java
  • 匿名函数和内置函数

    匿名函数

    匿名函数就是没有名字的函数

    lambda:1

    PS:冒号左边时参数,右边是返回值

    因为没有名字,而函数的调用就是通过函数名+()

    匿名函数单独使用毫无意义,它是配合内置函数一起使用

    匿名函数需要一次性使用

    内置函数

    python内部提供的内置方法

    max:最大值 max(可迭代对象)
    min:最小值 min(可迭代对象)
    l1 = [1, 2, 3, 4, 5]
    # 打印出l1列表中最大的值
    print(max(l1))
    # 打印出l1列表中最小的值
    print(min(l1))
    

    上边匿名函数中说道能和内置函数一起使用,让我们来看一下

    dict1 = {
        'tank':500,
        'sean':400,
        'egon':600
    }
    print(max(dict1,key= lambda x:dict1[x]))
    print(min(dict1,key= lambda x:dict1[x]))
    
    sorted:排序,默认升序(从小到大)
    l1 = [6, 1, 2, 3, 4, 5]
    # 给l1从小到大排序
    print(sorted(l1))
    
    他还有个参数reverse:反转(倒序)它的默认参数是False

    reverse True 降序

    # 给l1从大到小排序
    print(sorted(l1,reverse=True))
    

    结合dict1和匿名函数我们给dict1排一下序

    dict1 = {
        'tank':500,
        'sean':400,
        'egon':600
    }
    # 按照dict1中的value从小到大排序,返回key
    print(sorted(dict1,key= lambda x:dict1[x]))
    # 按照dict1中的value从大到小排序,返回key
    print(sorted(dict1,key= lambda x:dict1[x],reverse=True))
    

    map():映射

    语法:

    map(函数地址(func),可迭代对象)---->map对象

    map会将可迭代对象中的每一个值进行修改,然后映射一个map对象中,可以再将map对象转换成列表或元组

    注意:生成器(迭代器)用一次就用完了,所以用完后就不能再取了

    l1 = ['a','b','c','d']
    # 如果列表里有'a'在后面加'_1'如果不是就加'_2'
    res = map(lambda x:x+'_1' if x == 'a' else x + '_2' ,l1)
    print(list(res))
    # 生成器(迭代器)用一次就用完了,所以用完后就不能再取了
    print(tuple(res))   # 这时打印出来的就是空元组()
    

    reduce():合并

    语法:

    reduce(函数地址(func),可迭代对象,初始值(初始值默认为0))

    每次从可迭代对象中获取两个值进行合并

    from functools import reduce
    # 计算1-100的和后再加1000
    res = reduce(lambda x,y:x+y,range(1,101),1000)
    print(res)		# 打印结果6050
    

    filter():过滤

    语法:

    filter(函数地址(func),可迭代对象)

    filter会将函数中返回结果为True的对应的参数值过滤出来

    过滤出来的值会添加到filter对象中

    list1 = ['a_1', 'b_2', 'c_2', 'd_2']
    # 将后缀名为_1的元素过滤出来
    res = filter(lambda x:x.endswith('_1'),list1)
    print(res)			# <filter object at 0x000002B7C2477648>
    print(list(res))	# ['a_1']
    
  • 相关阅读:
    bootstrap-table实现分页、导出数据至excel
    Python求多个list的交集、并集、差集 & list 排序
    JS
    python 格式化输出(% VS format)
    pyqt5_实例:修改xml文件中节点值
    博客迁移
    Reverse is Multiplex, You Need PinTools.
    ISCC2018_leftleftrightright-Writeup
    如何在linux主机上运行/调试 arm/mips架构的binary
    强网杯2018
  • 原文地址:https://www.cnblogs.com/aheng/p/11859364.html
Copyright © 2011-2022 走看看