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. nginx模块学习

    rewrite模块的语法 链接

  2. 多种方法实现左右固定,中间自适应的CSS布局

    布局是面试中常问的问题,尤其是这类的题目,怎么答才好呢? 大多数人的第一个方法是浮动,没错,浮动.第二个方法呢?你回答定位,没错.第三个方法呢?.... 第四个方法呢?第五个方法呢?.... 其实能想 ...

  3. 20172332 2017-2018-2 《程序设计与数据结构》Java哈夫曼编码实验--哈夫曼树的建立,编码与解码

    20172332 2017-2018-2 <程序设计与数据结构>Java哈夫曼编码实验--哈夫曼树的建立,编码与解码 哈夫曼树 1.路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子 ...

  4. 进阶系列(5)—— C#XML使用

    一.XML介绍 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨 ...

  5. eg_6

    问题描述: 将一句话的单词进行倒置,标点不倒置.比如 I like beijing. 经过函数后变为:beijing. like I Demo1: import java.util.Scanner; ...

  6. week2:个人博客作业

    1.这周写程序感想: 昨天差不多,也是这个时候看些的程序,写了4个小时程序,感触颇多.昨日,原打算,就完成程序就吧这个随笔写完结果,由于各种原因,没写一直拖到现在.就做昨天写的程序,本身题目很简单,主 ...

  7. 关于js基本类型与引用类型(堆内存、栈内存的理解)

    js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...

  8. sublimeText3的一些操作记录

    # 给绿色版的sublimeText3添加右键菜单,其中@=“Sublime Text 3” 是右键展示的文字, 后面的icon是图标将下面代码保存为.reg文件执行 Windows Registry ...

  9. JVM内存管理机制

    Java与C++之间有一堆由内存动态分配与垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. —— <深入理解Java虚拟机:JVM高级特性与最佳实践> Java虚拟机在 ...

  10. HDU3829_Cat VS Dog

    题目是这样的,给定一些人喜欢某只猫或者狗,讨厌某只猫或者狗.求最多能够同时满足多少人的愿望? 题目很有意思.建模后就很简单了. 对于同一只猫或者狗,如果有一个讨厌,另一个人喜欢,那么这两个连一条边.最 ...