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的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
Jun 16 Python
简单谈谈python的反射机制
Jun 28 Python
python正则表达式的使用
Jun 12 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
python解释器spython使用及原理解析
Aug 24 Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Python requests HTTP验证登录实现流程
Nov 05 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
php代码书写习惯优化小结
2013/06/20 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
javascript操作cookie
2017/01/17 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python urllib3软件包的使用说明
2020/11/18 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
采购员岗位职责
2013/11/15 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
公司承诺书范文
2014/05/19 职场文书
法学院毕业生求职信
2014/06/25 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android