python的filter函数的使用方法详解以及使用案例,是否以什么结尾,是否大于什么(判断是True,则留下来)
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,则留下来)的更多相关文章
- 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 ...
- python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)
1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[] for n in num: a.append(n**2) print (a) C:\python ...
- python的内置模块random随机模块方法详解以及使用案例(五位数随机验证码的实现)
1.random(self): Get the next random number in the range [0.0, 1.0) 取0到1直接的随机浮点数 import random print( ...
- Python调用C/C++动态链接库的方法详解
Python调用C/C++动态链接库的方法详解 投稿:shichen2014 这篇文章主要介绍了Python调用C/C++动态链接库的方法,需要的朋友可以参考下 本文以实例讲解了Python调用C/C ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- python中验证码连通域分割的方法详解
python中验证码连通域分割的方法详解 这篇文章主要给大家介绍了关于python中验证码连通域分割的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需 ...
- python的dict()字典数据类型的方法详解以及案例使用
一.之前的回顾 # int 数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...
- 【Python】Linux crontab定时任务配置方法(详解)
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- Python中防止sql注入的方法详解
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库.下面这篇文章主要给大家介绍了关于Python中 ...
随机推荐
- 私人助手(Alpha)版使用说明
私人助手使用说明 私人助手这款软件是通过添加事件提醒,提醒你在合适的时间做该做的事,可以选择有多种提醒模式. 目前实现了对事件的添加和提醒功能,软件现在的情况如下: 1.添加事件 2.删除事件 3.事 ...
- WebGL学习笔记二
前一章就是第二章主要学的是通过WebGL实现先是在webGL内赋值,但是不实用后来通过定义attribute和uniform存储限定符来将javascript中的数据传到webGL中,大致的流程是1. ...
- 四则运算<C++>
代码: #include<iostream> #define N 30 using namespace std; void main() { cout<<"***** ...
- Structs2笔记③--局部类型转换案例
Structs2的类型转换-局部类型转换 Ognl强大的表达式语言,在导入项目的时候我们导入了ognl.jar包,内有TypeConverter类,struct主要依赖于他进行类型转换. 例子 i ...
- Linux手动添加系统环境共享库路径
1.在以下目录 #/etc/ld.so.conf.d 添加相应的xxx.conf 2.写入所要共享库的路径 如:/usr/lib/ 3.导入共享库配置 $ldconfig
- Vue 小组件input keyup.enter绑定
<div id="todo-list-example"> <input v-model="newTodoText" v-on:keyup.en ...
- 【Linux笔记】ps、kill、netstat、nohup、screen
1.ps 命令,用于查看当前正在运行的进程,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. 语法: ps [options] 示例: p ...
- spring1 注册value与ref的区别
- luogu P2992 [USACO10OPEN]三角形计数Triangle Counting
https://www.luogu.org/problemnew/solution/P2992 考虑包含原点,不包含原点的三角形有什么特征. 包含原点的三角形:任意找一个顶点和原点连线,一定能把另外两 ...
- Windows平台下在服务中添加MySQL
widows下查看服务 1.桌面计算机-->右键-->管理-->计算机管理(本地)--->服务和应用程序-->服务 2.运行 中输入 services.msc 在服务中添 ...