zoukankan      html  css  js  c++  java
  • python的内置函数(续)及匿名函数

    一:内置函数(续)

    1,zip (拉链方法)

    函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回这些元组。如果各个迭代器的元素个数不一致,则返回的元组个数与最短的对象相同

    l1 = [1,2,3,]
    l2 = ['a','b','c',5]
    l3 = ('*','**',(1,2,3))
    for i in zip(l1,l2,l3):
        print(i)
    
    # (1, 'a', '*')
    # (2, 'b', '**')
    # (3, 'c', (1, 2, 3))

    2,filter (过滤),通过你的函数,过滤一个可迭代对象

    def func(x):
        return x % 2 == 0
    ret = filter(func,[1,2,3,4,5,6,7])
    print(ret)
    for i in ret:
        print(i)

    3,map  会根据提供的函数对指定序列做映射

    def square(x):  # 计算平方数
        return x ** 2
    ret=map(square, [1, 2, 3, 4, 5])  # 计算列表各个元素的平方
    print(ret)
    for i in ret:
        print(i)

    二:匿名函数

    定义匿名函数的关键字为lambda,其格式为:函数名 = lambda 参数 :返回值,它是为了解决那些功能很简单的需求而设计的一句话函数。

    #这段代码
    def func(n):
        return n**n
    print(func(10))
     
    #换成匿名函数
    func = lambda n:n**n
    print(func(10))

    ps:

    1,参数可以有多个,用逗号隔开;

    2,匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值;

    3,返回值和正常的函数一样可以是任意数据类型;

    4,可以看出,匿名函数并不是真的不能有名字,匿名函数的调用和正常函数的调用一样。

    三:匿名函数和内置函数应用举例

    dic={'k1':10,'k2':100,'k3':30}
    print(dic[max(dic,key=lambda k:dic[k])])
    
    res = map(lambda x:x**2,[1,5,7,4,8])
    for i in res:
        print(i)
    
    res = filter(lambda x:x>10,[5,8,11,9,15])
    for i in res:
        print(i)
  • 相关阅读:
    集合---Map
    一个机器部署多个tomcat
    JavaScript要不要加分号";"
    Nodejs 路径 /, ./, ../, ..// 的区别
    玩转Vue的24个小程序---基础篇
    如何创建Node.js Web服务器
    为什么Ajax XMLHttpRequest POST方法传递参数失败了
    字典元素如何遍历
    Beautiful Soup 如何获取到href
    如何查看Ajax请求
  • 原文地址:https://www.cnblogs.com/leiwei123/p/8719051.html
Copyright © 2011-2022 走看看