列表推导式与匿名函数
Posted ArtisticMonk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表推导式与匿名函数相关的知识,希望对你有一定的参考价值。
""" 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 需要验证的参数(可随便取名): 需要验证的参数(是前面的元素) == “判断”,检验的容器))
以上是关于列表推导式与匿名函数的主要内容,如果未能解决你的问题,请参考以下文章