1.过滤掉列表
[3,9,-1,10.-2…] 中负数
普通循环
def filter_l(data):
res = []
for i in data:
if i > 0:
res.append(i)
return res
filter函数
def filter_l(data):
return filter(lambda x: x >= 0, data)
列表解析
def filter_l(data):
return [x for x in data if x >=0 ]
2.筛选出字典
{‘li_ming’:90,‘xiao_hong’:60,‘li_kang’:95,‘bei_men’:98} 中值高于90的项
def filter_l(data):
return {k: v for k, v in data.items() if v > 90}
3.筛选出集合
{3,9,-1,10.-2…]中能被3整除的数
def filter_l(data):
return {x for x in data if x % 3 == 0}
如何逻辑整理?
无论是解析器还是普通方法,都需要for循环,if判断,逻辑都是满足条件返回值,过滤出满足条件的值,无论是生成器还是解析器都满足这个格式:“ 返回值 for循环 if判断 “,通过lambda满足格 式:“lambda 输入值:条件, 格式化数据