逻辑值检测
被视为假值的内置对象
None False
0 0.0 0j Decimal(0) Fraction(0, 1)
'' () [] {} set() range(0)
特殊地被视为假值的对象
- 对象所属类定义了__bool__()方法且返回False
- 对象所属类定义了__len__()方法且返回零
- 若以上两者均定义,以__bool__()方法返回值为准
注意
bool(' ')
bool({[]})
内置函数filter(function, iterable)
函数描述
- 用iterable中函数function返回True的元素,构建返回值
- Python2.7返回列表,Python3.x返回迭代器对象
- iterable可以是一个序列,一个支持迭代的容器,或一个迭代器
注意
- filter(function, iterable) 相当于一个生成器表达式
- function 不是 None 的时候为
(item for item in iterable if function(item))
- function 是 None 的时候为
(item for item in iterable if item)
,即返回逻辑值检测为真的元素
参考
https://docs.python.org