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中 ...
随机推荐
- 欢迎来怼--第三十六次Scrum会议
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/12/1 11:35~11:55,总计20min. 地点 ...
- eclipse 中使用git
1.安装egit插件,在新版的eclipse中已经集成了这个插件,省了不少时间, 旧版的eclipse可以在help->install new software中点击add,写入名称,网址具体如 ...
- Java jdbc链接 mySQL 写的crud
1.JDBC(Java Data Base Connectivity java数据库连接)概念: 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...
- Android笔记-3-EditText的属性介绍
[Android 基础]EditText的属性介绍 EditText继承TextView,所以EditText具有TextView的属性特点,下面主要介绍一些EditText的特有的输入法的属性特点 ...
- DPDK L2fwd 源码阅读
代码部分 /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2016 Intel Corporation */ #include ...
- Good Time 冲刺 五
一.今日完成任务情况及遇到的问题 第五天 日期:2018.6.18 王怡镔:今天继续在学习中完善编写页面,对之前的页面进行部分改进. 于鑫宇:修改完善布局,复习. 胡雅馨:今天继续改进页面,努力解决时 ...
- 26_多线程_第26天(Thread、线程创建、线程池)_讲义
今日内容介绍 1.多线程 2.线程池 01进程概念 A:进程概念 a:进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行, 即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能 ...
- Scrum Meeting Beta - 8
Scrum Meeting Beta - 8 NewTeam 2017/12/7 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 完成了博文详情的存储Issue #150Pull ...
- 英文词频统计的java实现方法
需求概要 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 分析 1.读取文件可使用BufferedReader ...
- 优先级:P0
优先级:P0 Priority https://www.zhihu.com/question/23353333?sort=created 一个团队, 每周需求pk的例会,每个产品经理都要给自己提出的需 ...