foxdai 发表于 2020-4-2 18:41:44

L21 匿名lmabda函数 列表推导式

本帖最后由 foxdai 于 2020-4-8 18:24 编辑

匿名函数和Filter()、和多重过滤条件下的列表推导式

一、匿名函数
格式:list(filter(lambda <变量>: <含变量的表达式><条件>,<iterable>))
说明:
1. 条件,需要完整的语句,即if...else...一个关键词都不能少;
2. 条件,只能简单的条件,多重条件无法实现(用列表推导式);

二、列表推导式
格式:[<表达式><for var1 in iterable1 <条件11><条件12><...:>最外层><for var2 in iterable2 <条件21><条件22><条件...>: 嵌套内第2层>....]
说明:条件,无需完整的语句,即仅有if即可;

<iterable>可迭代列表,可以在公式之前定义

dict()字典函数
dict({1:2,3:4,5:6})

{a,b,... }集合类
{a1:b1,a2:b2,a3:b3,...}字典类,是集合类的一种特殊类
列表类

zip() 将2个列表以元组形式绑定
>>> list(zip(, ))
结果:[(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]

list(filter(lambda x:x*2,list(range(10))))
表达式结果为0的值被忽略,为什么?

永恒的蓝色梦想 发表于 2020-4-2 19:04:51

提问的 帖子类型应该是问题求助

Q:list(filter(lambda x:x*2,list(range(10))))
表达式结果为0的值被忽略,为什么?

A:
因为0*2为0
而为0的值是假值,会被过滤
页: [1]
查看完整版本: L21 匿名lmabda函数 列表推导式