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中的引用和拷贝浅析
Nov 22 Python
Python中编写ORM框架的入门指引
Apr 29 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
python实现俄罗斯方块游戏
Mar 25 Python
flask-restful使用总结
Dec 04 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
python实现扫描局域网指定网段ip的方法
Apr 16 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
python中if及if-else如何使用
Jun 02 Python
学习python需要有编程基础吗
Jun 02 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 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
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
Python语言描述KNN算法与Kd树
2017/12/13 Python
Python 使用with上下文实现计时功能
2018/03/09 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
干部行政关系介绍信
2014/01/17 职场文书
运动会通讯稿50字
2014/01/30 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
会计专业自荐信
2014/06/03 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
2016新年晚会开场白
2015/12/03 职场文书