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操作MySQL数据库的方法分享
May 29 Python
使用Python操作Elasticsearch数据索引的教程
Apr 08 Python
简单谈谈Python中的反转字符串问题
Oct 24 Python
python模块之time模块(实例讲解)
Sep 13 Python
Python网络编程详解
Oct 31 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
pandas 将索引值相加的方法
Nov 15 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
python实现图片彩色转化为素描
Jan 15 Python
Python3字符串encode与decode的讲解
Apr 02 Python
Python 阶乘详解
Oct 05 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
星际争霸任务指南——人族
2020/03/04 星际争霸
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
表单提交验证类
2006/07/14 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python分割文件的常用方法
2014/11/01 Python
Python2.x与Python3.x的区别
2016/01/14 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
Python装饰器用法示例小结
2018/02/11 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
幼儿园小班植树节活动方案
2014/03/04 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书