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操作CouchDB的方法
Oct 08 Python
Python语言实现获取主机名根据端口杀死进程
Mar 31 Python
Python如何判断数独是否合法
Sep 08 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Python3实现的简单验证码识别功能示例
May 02 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
python自动识别文本编码格式代码
Dec 26 Python
通过实例解析Python return运行原理
Mar 04 Python
python实现udp聊天窗口
Mar 31 Python
python可以用哪些数据库
Jun 22 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
精通php的十大要点(上)
2009/02/04 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python中的闭包总结
2014/09/18 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
超简单的Python HTTP服务
2019/07/22 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
中专毕业生的自我鉴定
2013/12/01 职场文书
创业计划书——互联网商机
2014/01/12 职场文书
无故旷工检讨书
2014/01/26 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python