码迷,mamicode.com
首页 > 其他好文 > 详细

列表推导式与匿名函数

时间:2018-05-19 18:27:00      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:需要   cti   示例   内联   判断   通过   推导   return   匿名   

"""
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 需要验证的参数(可随便取名): 需要验证的参数(是前面的元素) == “判断”,检验的容器))

 

列表推导式与匿名函数

标签:需要   cti   示例   内联   判断   通过   推导   return   匿名   

原文地址:https://www.cnblogs.com/ArtisticMonk/p/9060744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!