zoukankan      html  css  js  c++  java
  • 列表推导式与匿名函数

    """
    Author:Cairo
    """
    # 列表推到式:一种采用简洁的方式来处理序列中的全部或部分元素,并返回结果列表
    # 推导式的公式为:[元素(或者计算方法) for循环(允许多个循环)if语句]
    
    # 比如我们来创建一个1-100的平方
    # print([x ** x for x in range(1,100)])
    
    # 当然我们也可以设置一下条件,满足条件才能添加到列表中
    # print([x ** x for x in range(10) if (x % 2)!=0])
    #相同于
    # for x in range(10):
    #     if x%2!=0:
    #         x = x**x
    #         print(x)
    # 还需要添加进列表哦
    
    # 这样我们就可以看得出谁更是简洁了
    
    
    
    # lambda表达式
    # 定义:一个匿名内联匿名函数,由一个表达式组成,在函数被调用时求值
    # 创建lambda函数的语法:lambda[参数]:表达式
    # lambda表达式可用于函数的参数。
    
    # 例如,我们从一个整数列表中筛选所有的偶数,可以使用filter函数。
    # 这个函数的参数是function和iterable,也就是1个函数和1个可迭代对象。
    # 示例代码:
    #     用函数来检验有点复杂
    # def isven(n):
    #     if n % 2 ==0:
    #         return True
    #     else:
    #         return False
    
    
    # number = [1, 2, 3, 4, 5, 6]  # 整数列表
    #
    # lst = list(filter(lambda x: x % 2 == 0, number)) # 通过lambda表达式对每个number的元素进行验证,并将所有验证结果转换为list。
    # print(lst) # 显示输出结果为:[2, 4, 6]
    
    
    # 函数(filter)的参数,并通过这个函数对其它参数进行处理。
    # filter函数会把number的每一个元素作为函数iseven的参数传入,进行计算,并将返回结
    
    
    # 从姓名集合中筛选出姓氏为“李”的姓名。
    name_set = {'邢佳栋', '李学庆', '高昊', '潘粤明', '戴军', '薛之谦', '贾宏声', '于波', '李连杰', '王斑', '蓝雨', '刘恩佑','任泉', '李光洁', '姜文', '黑龙', '张殿菲', '邓超', '张杰', '杨坤', '沙溢', '李茂', '黄磊', '于小伟', '刘冠翔','秦俊杰', '张琳', '陈坤', '黄觉', '邵峰', '陈旭', '马天宇', '杨子', '邓安奇', '赵鸿飞', '马可', '黄海波','黄志忠', '李晨', '后弦', '王挺', '何炅', '朱亚文', '胡军', '许亚军', '张涵予', '贾乃亮', '陆虎', '印小天','于和伟', '田亮', '夏雨', '李亚鹏', '胡兵', '王睿', '保剑锋', '于震', '苏醒', '胡夏', '张丰毅', '刘翔','李玉刚', '林依轮', '袁弘', '朱雨辰', '丁志诚', '黄征', '张子健', '许嵩'}
    lst = tuple (filter(lambda x: x[:1] == '' , name_set))
    print(lst)
    
    lst1 = [x for x in name_set if '' in x[0]]  # 使用列表推导式获取新的列表。
    
    # 匿名函数可以将验证的结果转为列表和元组、集合
    # 匿名函数的结构为:转换的类型(filter参数(lambda 需要验证的参数(可随便取名): 需要验证的参数(是前面的元素) == “判断”,检验的容器))
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    每日英语:Universities in Singapore strengthen cooperation with China
    每日英语:The Exercise Equivalent of a Cheeseburger?
    每日英语:Eating Safely in China, on a Budget
    每日英语:What Makes A RiskTaker
    OAuth2 vs JWT,到底怎么选?
    Docker 为什么输给了Kubernetes?Docker 员工自述!
    90 岁程序员,他的压缩算法改变了世界!
    数据库设计的 10 个最佳实践!
    代码写的垃圾被嫌弃?这 3 个插件你值得拥有!
    ShardingJdbc 实现读写分离 + 分库分表,写得太好了!
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/9060744.html
Copyright © 2011-2022 走看看