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实现多线程采集的2个代码例子
Jul 07 Python
Python的Django框架使用入门指引
Apr 15 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
python生成excel的实例代码
Nov 08 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
python将unicode和str互相转化的实现
May 11 Python
Python urllib2运行过程原理解析
Jun 04 Python
Python 中 sorted 如何自定义比较逻辑
Feb 02 Python
详解MindSpore自定义模型损失函数
Jun 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
php下删除字符串中HTML标签的函数
2008/08/27 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
jquery蒙版控件实现代码
2010/12/08 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
使用python实现省市三级菜单效果
2016/01/20 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
Python 多维List创建的问题小结
2019/01/18 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
岗位职责范本
2013/11/23 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
心理健康活动总结
2014/04/30 职场文书
大学生就业求职信
2014/06/12 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
谢师宴学生致辞
2015/07/27 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
Python中可变和不可变对象的深入讲解
2021/08/02 Python
Nginx报404错误的详细解决方法
2022/07/23 Servers