1、总共有3个人看电影,有2个人看电影经常说话,我们把他们两个过滤出去

move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]
ret=[]
for n in move_people:
if n.endswith("sb"):
pass
else:
ret.append(n)
print (ret) C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['gouguoqi']

2、写成函数应该怎么写

move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]#1.定义3个看电影的人
def del_sb(people):#2.定义一个函数,到20行,放入内存中,等待被调用
ret = []#3.1定义一个空列表
for n in people:#3.2循环这3个看电影的人
if n.endswith("sb"):#判断如果是sb结尾的就什么都不干
pass
else:#如果结尾不是sb的就把名字追加到空列表ret里面
ret.append(n)
return ret#最后函数返回值是ret 也就是一个列表
print(del_sb(move_people))#3.调用del_sb这个函数,把列表作为参数传给people C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['gouguoqi']

3、改成功能性的函数

move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]#1.定义3个看电影的人
def del_end_sb(x):
return x.endswith("sb")
def del_sb(func,people):#2.定义一个函数,到20行,放入内存中,等待被调用
ret = []#3.1定义一个空列表
for n in people:#3.2循环这3个看电影的人
if func(n):#判断如果是sb结尾的就什么都不干
pass
else:#如果结尾不是sb的就把名字追加到空列表ret里面
ret.append(n)
return ret#最后函数返回值是ret 也就是一个列表
print(del_sb(del_end_sb,move_people))#3.调用del_sb这个函数,把列表作为参数传给people C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['gouguoqi']

4、终极版本就是下面这样了

lambda x:x.endswith("sb")        这个替换了下面这个自定义函数

def del_end_sb(x):
return x.endswith("sb") move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]#1.定义3个看电影的人
def del_sb(func,people):#2.定义一个函数,到20行,放入内存中,等待被调用
ret = []#3.1定义一个空列表
for n in people:#3.2循环这3个看电影的人
if func(n):#判断如果是sb结尾的就什么都不干
pass
else:#如果结尾不是sb的就把名字追加到空列表ret里面
ret.append(n)
return ret#最后函数返回值是ret 也就是一个列表
print(del_sb(lambda x:x.endswith("sb"),move_people)) C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['gouguoqi']

5、filter    取出sb结尾的

move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]
print (list(filter(lambda x:x.endswith("sb"),move_people))) C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['beiye_sb', 'xiudiannao_sb']

取出不是sb结尾的

move_people=["gouguoqi","beiye_sb","xiudiannao_sb"]
print (list(filter(lambda x:not x.endswith("sb"),move_people))) C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py ['gouguoqi']

filter的语法跟map的语法是一样的,2个参数

filter(一个处理方法,可迭代对象)

6、filter遍历序列中的每个元素,判断每个元素得到布尔值,如果True则留下来

name=[
{
"name":"beiye","age":9000,
"name":"maioye","age":8000,
"name":"xiudiannao","age":7000,
"name":"gouguoqi","age":18
}
]
print (list(filter(lambda x:x["age"]<=18,name))) C:\python35\python3.exe D:/pyproject/day14函数/filter函数.py [{'name': 'gouguoqi', 'age': 18}]

那name这个列表里面的每个元素以for循环的方式作为参数传递给x,冒号后面是处理方法

python的filter函数的使用方法详解以及使用案例,是否以什么结尾,是否大于什么(判断是True,则留下来)的更多相关文章

  1. python的reduce函数的使用方法详解以及使用案例,相加,相乘(处理一个序列,然后把序列进程合并操作)

    1.求列表的数字相加之和,还是之前的习惯,写for循环来实现 num_1=[1,2,3,4,5,6,7,8,9] a=0 for n in num_1: #a=a+n a+=n print (a) C ...

  2. python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)

    1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[] for n in num: a.append(n**2) print (a) C:\python ...

  3. python的内置模块random随机模块方法详解以及使用案例(五位数随机验证码的实现)

    1.random(self): Get the next random number in the range [0.0, 1.0) 取0到1直接的随机浮点数 import random print( ...

  4. Python调用C/C++动态链接库的方法详解

    Python调用C/C++动态链接库的方法详解 投稿:shichen2014 这篇文章主要介绍了Python调用C/C++动态链接库的方法,需要的朋友可以参考下 本文以实例讲解了Python调用C/C ...

  5. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  6. python中验证码连通域分割的方法详解

    python中验证码连通域分割的方法详解 这篇文章主要给大家介绍了关于python中验证码连通域分割的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需 ...

  7. python的dict()字典数据类型的方法详解以及案例使用

    一.之前的回顾 # int  数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...

  8. 【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...

  9. Python中防止sql注入的方法详解

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库.下面这篇文章主要给大家介绍了关于Python中 ...

随机推荐

  1. 忘记本地MySQL数据库密码的解决方案。

    忘记本地MySQL数据库密码,解决方案,分以下10个步骤: 参考链接:                  https://blog.csdn.net/weidong_y/article/details ...

  2. Teamwork#3,Week5,Scrum Meeting 11.20

    到目前为止,第一轮迭代已经基本完成.由于时间问题,多店比较的高级功能要放到第二轮迭代实现. 大部分任务已经完成,在alpha版本发布之前我们剩余需要解决的问题有两个: 服务器.校园网服务器不能满足我们 ...

  3. Scrum Meeting 11.08

    成员 今日任务 明日计划 用时 徐越       赵庶宏       薄霖       卞忠昊 WebView和JavaScript交互基础 Bitmap(位图)全解析 Part1 3h  武鑫 设计 ...

  4. 四则运算(window窗体程序)

    我的第一个程序 忙活了半个下午做出来了,勉强可以见人,虽然还有些瑕疵,但是我也尽力了...... 我做的是一个能对0--10之间的整数进行四则运算的,题目的数据是程序自动生成的,而且程能接收用户输入的 ...

  5. 个人作业2--APP案例分析

    产品 选择产品:酷狗音乐播放器 版本:Android版 选择理由:是我高中就开始用的音乐播放软件,在平时使用频率比较高,平时喜欢在累的时候听音乐放松. 调研 第一次上手体验 第一次使用的时候,感觉整个 ...

  6. WebDriver 工作原理

    WebDriver是W3C的一个标准,由Selenium主持. 具体的协议标准可以从http://code.google.com/p/selenium/wiki/JsonWireProtocol#Co ...

  7. 关闭SSD(固态硬盘)节能功能 提搞SSD性能

     此方法可以缓解比如QQ聊天时能明显感觉到打字过程不连续,0.1s左右的间歇停顿,操作系统并不会锁死,系统突然停止响应,硬盘灯狂闪,鼠标指针成为圆圈,点什么都没反应,这种状况可能会持续1-2分钟, ...

  8. http和https的优缺点,区别与工作原理

    文章内容 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可 ...

  9. Window环境下搭建Vue.js开发环境

    原文链接:http://blog.csdn.net/solo95/article/details/72084907 笔者最近在进行前端的学习,在点完了HTML5.CSS3.JavaScript等技能树 ...

  10. Java并发编程实战3-可见性与volatile关键字

    1. 缓存一致性问题 在计算机中,每条指令都是在CPU执行的,而CPU又不具备存储数据的功能,因此数据都是存储在主存(即内存)和外存(硬盘)中.但是,主存中数据的存取速度高于外存中数据的存取速度(这也 ...