print(list(filter(lambda x: x, list_num)))

结果为:
[1, 2, 3, 8, 3]


栗子2:过滤列表中数字的大小写(针对的是字母全都是大写或小写的情况)



list_word = [‘a’, ‘B’, ‘c’, ‘d’, ‘E’]
print(list(filter(lambda x: x.isupper(), list_word)))
print(list(filter(lambda x: x.islower(), list_word)))

结果为:
[‘B’, ‘E’]
[‘a’, ‘c’, ‘d’]


### 迭代器仅可使用一次的问题


和map一样,filter函数在Python3中返回一个惰性计算的filter对象或迭代器。我们不能通过index访问filter对象的元素,也不能使用len()得到它的长度。



def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
print(list(newlist))
print(list(newlist))

输出结果为:
<filter object at 0x7fba80a8d630>
[1, 3, 5, 7, 9]
[]


### 规避这个惰性计算的问题,赋值的时候直接用list进行转换一下:


不使用list转换



def is_odd(n):
return n % 2 == 1

不使用list转换

print(“惰性计算”)
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(list(newlist))
for i in newlist:
print(i,end = " ")
print(list(newlist))
输出结果
惰性计算
[1, 3, 5, 7, 9]
[]


不使用list转换



def is_odd(n):
return n % 2 == 1

#不使用list转换
print(“规避惰性计算”)
newlist = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
print(newlist)
for i in newlist:
print(i,end = " ")
print(newlist)

输出结果:
规避惰性计算
[1, 3, 5, 7, 9]
1 3 5 7 9 [1, 3, 5, 7, 9]


例子4:与dict构成的列表处理例子



dict_a = [{‘name’: ‘python’, ‘points’: 10}, {‘name’: ‘java’, ‘points’: 8}]
test_filter = filter(lambda x : x[‘name’] == ‘python’, dict_a)
print(list(test_filter))

输出结果:
[{‘name’: ‘python’, ‘points’: 10}]

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐