有一个列表[1, 2, False, '', 'test', 0],现在需要把里面所有非空、非False,非0的数据取出来。...可能有一些人会使用列表推导式:
a = [1, 2, False, '', 'test', 0]
useful = [x for x in a if x]
但如果过滤规则稍微复杂一些呢?...例如,如果列表里面的元素不是字符串,那么先把元素转换为字符串,然后转换为bytes型数据,计算md5值。如果md5值转换成10进制数以后是3的倍数,那么就把这个数筛选出来。...Filter的第一个参数也可以是None,此时filter(None, [1, 2, '', False, 'xx'])的效果就是把列表里面所有非空,非0,非False的数据返回出来。