python如何在列表、字典中筛选数据


Posted in Python onMarch 19, 2018

python如何在列表、字典中筛选数据?

实际问题有哪些?

1.过滤掉列表[3,9,-1,10.-2......] 中负数
2.筛选出字典

{‘li_ming':90,'xiao_hong':60,'li_kang':95,'bei_men':98} 中值高于90的项

3.筛选出集合{3,9,-1,10.-2......]中能被3整除的数

问题1如何解决?

最普通方法:

#!/usr/bin/python3
 
 
def filter_l(data):
 res = []
 for i in data:
  if i > 0:
   res.append(i)
 return res
 
if __name__ == '__main__':
 data = [3, 9, -1, 10, -2]
 new_l = filter_l(data)
 print(new_l)

如何解决列表问题?

初始化列表: 生成 -10 到 10 的随机数列表,去除负数

1. filter方法:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 # 循环data列表,把值一个一个取出 交个lambda中x,如何lambda函数为True,返回x生成一个新的filter对象
 return filter(lambda x: x >= 0, data)
 
if __name__ == '__main__':
 # 列表生成10个 -10 到 10 的随机数
 data = [randint(-10, 10) for _ in range(10)]
 print(data)
 # new_l 为可迭代对象
 new_l = filter_l(data)
 print(list(new_l), type(new_l))

2. 列表解析:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 # 循环data列表,把值一个一个取出 是否满足if条件,满足True返回x生成一个新列表
 return [x for x in data if x >=0 ]
 
if __name__ == '__main__':
 # 列表生成10个 -10 到 10 的随机数
 data = [randint(-10, 10) for _ in range(10)]
 print(data)
 # new_l 为可迭代对象
 new_l = filter_l(data)
 print(list(new_l), type(new_l))

运行速度比较:解析 > filter > 普通

如何解决字典?

字典解析,筛选数据:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 print(data.items())
 # 把字典转换成dict_items,循环里面的key和value,满足if条件返回对应的key和value值
 return {k: v for k, v in data.items() if v > 90}
 
if __name__ == '__main__':
 # 字典生成式
 data = {x: randint(0, 100) for x in range(10)}
 print(data)
 new_l = filter_l(data)
 print(new_l, type(new_l))

如何解决集合问题?

#!/usr/bin/python3
from random import randint
 
 
def filter_l(data):
 # 迭代集合中值,满足条件为True返回x
 return {x for x in data if x % 3 == 0}
 
if __name__ == '__main__':
 # 集合生成式
 data = {randint(0, 100) for x in range(10)}
 print(data)
 new_l = filter_l(data)
 print(new_l, type(new_l))

如何逻辑整理?

无论是解析器还是普通方法,都需要for循环,if判断,逻辑都是满足条件返回值,过滤出满足条件的值,无论是生成器还是解析器都满足这个格式:“ 返回值 for循环 if判断 “,通过lambda满足格 式:“lambda 输入值:条件, 格式化数据

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

Python 相关文章推荐
Python使用新浪微博API发送微博的例子
Apr 10 Python
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Django框架实现的简单分页功能示例
Dec 04 Python
对python的输出和输出格式详解
Dec 08 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
python之array赋值技巧分享
Nov 28 Python
浅谈Python中的继承
Jun 19 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Django缓存Cache使用详解
Nov 30 Python
python素数筛选法浅析
Mar 19 #Python
python实现堆和索引堆的代码示例
Mar 19 #Python
python实现一个简单的并查集的示例代码
Mar 19 #Python
python使用筛选法计算小于给定数字的所有素数
Mar 19 #Python
python将每个单词按空格分开并保存到文件中
Mar 19 #Python
python将文本分每两行一组并保存到文件
Mar 19 #Python
python: line=f.readlines()消除line中\n的方法
Mar 19 #Python
You might like
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
php 获取客户端的真实ip
2009/11/30 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
学校消防演习方案
2014/02/19 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
双创工作实施方案
2014/03/26 职场文书
小学毕业寄语大全
2014/04/03 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书