Python实用技巧之列表、字典、集合中根据条件筛选数据详解


Posted in Python onJuly 11, 2018

通用做法:迭代

以列表为例:

筛选出下列数字大于等于0的数

data = [2, 7, -4, -1, 3, 0, 8]
res = []
for i in data:
 if i >= 0:
  res.append(i)
print(res)

运行结果:

[2, 7, 3, 0, 8]

奇淫巧技——列表筛选

使用filter函数

随机生成一组正负数皆有的数,筛选出大于等于0的数

flilter(function or None, iterable)

from random import randint
data = [randint(-10,10) for _ in range(10)]
# filter 接收两个参数,第一个参数为过滤条件,第二个参数为过滤范围
f = filter(lambda x: x>=0, data)
for j in f:
 print(j)

使用列表解析(列表推导式)

随机生成一组正负数皆有的数,筛选出大于等于0的数

from random import randint
data = [randint(-10,10) for _ in range(10)]
f = [i for i in data if i >= 0]
print(f)

使用timeit测试两种方法的运行速度得到:使用列表解析的速度更快,但二者皆比通用做法迭代要快

奇淫巧技——字典筛选

假设有20个学生,学生分数在60-100之间,筛选出成绩在90分以上的学生

import random
dict = {i: random.randint(60, 100) for i in range(1, 21)}
# print(dict)
# 根据值过滤除分数高于90的人
res = {k: v for k, v in dict.items() if v > 90}
print(res)

奇淫巧技——集合筛选

10个随机的正负数,筛选出可以和2整除的数字

import random
data = set(random.randint(-10,10) for _ in range(10))
# print(data)
# 筛选集合中能被2整除的数
res = {i for i in data if i % 2 ==0}
print(res)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python MD5文件生成码
Jan 12 Python
35个Python编程小技巧
Apr 01 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
Python的Django框架中的表单处理示例
Jul 17 Python
详解python时间模块中的datetime模块
Jan 13 Python
Python图算法实例分析
Aug 13 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
PyQt5组件读取参数的实例
Jun 25 Python
Python PyQt5整理介绍
Apr 01 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 #Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 #Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 #Python
Python批处理删除和重命名文件夹的实例
Jul 11 #Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 #Python
通过python顺序修改文件名字的方法
Jul 11 #Python
对python3 一组数值的归一化处理方法详解
Jul 11 #Python
You might like
linux下为php添加curl扩展的方法
2011/07/29 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
PHP实现图片压缩
2020/09/09 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
监控 url fragment变化的js代码
2010/04/19 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Python读取YAML文件过程详解
2019/12/30 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
毕业证明书
2015/06/19 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis