zoukankan      html  css  js  c++  java
  • Python-有名匿名函数、列表推导式

    介绍:

    匿名函数:    匿名函数用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤,节省开辟空间。

    列表推导式:

    有名函数

    #1.有名函数(初始)
    def square(x):
        return x**2
    res=map(square,[1,2,3,4,5])
    print(res) #<map object at 0x007193B0> 是一个生成器对象,a.__next__()取值
    print(list(res)) #[1, 4, 9, 16, 25]

    匿名函数

    #2.匿名函数(匿名函数改进)
    # res=map(lambda x:x**2,[1,2,3,4,5])
    # print(res) #<map object at 0x020936B0>
    # print(list(res)) #[1, 4, 9, 16, 25]

    列表推导式

    #3.实际工作中,建议使用——列表生成式改进
    l=[]
    def square(x):
        l.append(x**2)
    
    for i in [1,2,3,4,5,6]:
        square(i)
    
    print(l) #[1, 4, 9, 16, 25, 36]

    注意点:lamdba+列表推导式的坑

    #主意:lambda+列表推导式的坑
    res=[lambda x:i**2 for i in range(3)]
    # res=[lambda x:i**2 for i in range(3)]
    print(res[0](0)) # 结果4,[<function <listcomp>.<lambda> at 0x08757540>, <function <listcomp>.<lambda> at 0x087574F8>, <function <listcomp>.<lambda> at 0x087575D0>, <function <listcomp>.<lambda> at 0x08757660>, <function <listcomp>.<lambda> at 0x087576A8>]
    # print(res[0](10)) #结果4,(10)相当于是为lambda函数值传参  
  • 相关阅读:
    小数据池,深浅拷贝以及集合
    字典
    列表,元组以及range
    整型,布尔值以及字符串详解
    while循环,格式化输出,运算符及编码初识
    Python简介以及入门
    码云以及Git的使用
    JaveScript——简介、语法
    网页练习
    HTML_css样式表 样式属性 格式布局
  • 原文地址:https://www.cnblogs.com/yangzhizong/p/10348158.html
Copyright © 2011-2022 走看看