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实现通过哈希算法检测图片重复的教程
Apr 02 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
python使用tornado实现登录和登出
Jul 28 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Python如何将模块打包并发布
Aug 30 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 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
用header 发送cookie的php代码
2007/03/16 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
浅谈Python单向链表的实现
2015/12/24 Python
Python进阶篇之字典操作总结
2016/11/16 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python实现用户答题功能
2018/01/17 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
Python运行异常管理解决方案
2020/03/09 Python
浅谈python 类方法/静态方法
2020/09/18 Python
英国钻石公司:British Diamond Company
2020/02/16 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
财务主管的岗位职责
2013/12/30 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
毕业设计说明书
2014/05/07 职场文书
2014年教研员工作总结
2014/12/23 职场文书
师范生见习自我总结
2015/06/23 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书