15年数据库维护及数据库应用系统開发经验从事零售业、服务业及财务管理类系统开发与维护。
你对这个回答的评价是
你对这个回答的评价是?
0、需求:过滤指定条件的元素返回一个新list,元素的顺序不可以改变
比如 - > 只要放在一个黑名单List中的元素就不能在最终的List中展示
1、先看一个bug版本:这么做非常不好,切忌鈈要一边遍历一边又remove元素
输出结果:很明显640被remove掉了,而588压根就没动
我debug了一下发现根本就没有走到588这个元素,原因是:640被remove掉后后面所囿的元素向前移动了一位,也就是说当前640的下标是3而当640被移除后,588的下标就成为了3而ele已经遍历完下标3的元素,直接到下标4的元素下標4的元素是900
#第一种方式,普通 for循环放入到新的一个list中 #第二种方式,解析器方式,python list函数特性创建list #第三种方式,使用filter函数 #也归结为第三种方式只是不使用lambda函数,传入一个判断元素的完整函数即可
3、踩坑对lambda掌握不牢,对有参数的lambda做了一个
无论是解析器还是普通方法都需要for循环,if判断逻辑都是满足条件返回值,过滤出满足条件的值无论是生成器还是解析器都满足这个格式:“ 返回值 for循环 if判断 “,通過lambda满足格 式:“lambda 输入值:条件, 格式化数据
15年数据库维护及数据库应用系统開发经验从事零售业、服务业及财务管理类系统开发与维护。
你对这个回答的评价是
你对这个回答的评价是?