Python如何用filter函数筛选数据


Posted in Python onMarch 05, 2020

一.filter函数简介

filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;

filter函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中,就好比是用筛子,筛选指定的元素;

语法:

filter(function, iterable)

参数:

function ? 函数名;

iterable ? 序列或者可迭代对象;

返回值:通过function过滤后,将返回True的元素保存在迭代器对象中,最后返回这个迭代器对象(python2.0x版本是直接返回列表list);

二.filter函数使用

1.filter函数简单使用

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_process_Pool.py
@Time:2020/1/14 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
def check(i):
  # 如果是偶数返回 True 否则返回False
  return True if i%2 == 0 else False
 
if __name__ == "__main__":
 
  list1 =[1,2,3,4,5,6]
  result = filter(check,list1)
  print(result)
  print(type(result))
 
  # 将返回的迭代器转为列表list或者元组
  print(list(result))
  print(type(list(result)))

输出结果:

<filter object at 0x0000015127BA7EB8>
<class 'filter'>
[2, 4, 6]
<class 'list'>

2.filter函数配合匿名函数Lambda使用

def check_score(score):
  if score > 60:
    return True
  else:
    return False
 
if __name__ == "__main__":
 
  # 成绩列表
  student_score = {"zhangsan":98,"lisi":58,"wangwu":67,"laowang":99,"xiaoxia":57}
 
  # 筛选成绩大于60的成绩列表
  result = filter(lambda score:score > 60,student_score.values())
  # 与上面一行代码等价
  # result = filter(check_score, student_score.values())
 
  print(result)
  print(type(result))
 
  # 将返回的迭代器转为列表list或者元组
  print(list(result))
  print(type(list(result)))

输出结果:

<filter object at 0x000001B761F88FD0>
<class 'filter'>
[98, 67, 99]
<class 'list'>

注意:filter函数返回的是一个迭代器对象,往往在使用时需要先将其转换为列表list或者元祖tuple之后再操作;

python filter函数其实和内置函数map()使用方法类似,map()函数也是将迭代器或者序列中的每一个元素映射到指定的函数中,操作完成之后再返回修改后的迭代器对象;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过floor函数舍弃小数位的方法
Mar 17 Python
Python字符串切片操作知识详解
Mar 28 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
python 表格打印代码实例解析
Oct 12 Python
Python3.7实现验证码登录方式代码实例
Feb 14 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
python异常处理之try finally不报错的原因
May 18 Python
python ssh 执行shell命令的示例
Sep 29 Python
python实现一个简单RPC框架的示例
Oct 28 Python
Python实现中英文全文搜索的示例
Dec 04 Python
Python中time标准库的使用教程
Apr 13 Python
Python API len函数操作过程解析
Mar 05 #Python
Python通过Tesseract库实现文字识别
Mar 05 #Python
Python爬虫实现模拟点击动态页面
Mar 05 #Python
python实现图片横向和纵向拼接
Mar 05 #Python
基于Python生成个性二维码过程详解
Mar 05 #Python
Python callable内置函数原理解析
Mar 05 #Python
python实现图像拼接
Mar 05 #Python
You might like
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
Javascript 读后台cookie代码
2008/09/15 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
Python验证码识别处理实例
2015/12/28 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Django中的Model操作表的实现
2018/07/24 Python
Python 求数组局部最大值的实例
2019/11/26 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
户外婚礼策划方案
2014/02/08 职场文书
给学校建议书范文
2014/05/13 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
python xlwt模块的使用解析
2021/04/13 Python
Nginx四层负载均衡的配置指南
2021/06/11 Servers