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的Twisted框架编写非阻塞程序的代码示例
May 25 Python
Python中标准模块importlib详解
Apr 16 Python
Python计时相关操作详解【time,datetime】
May 26 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
Python 通过打码平台实现验证码的实现
May 13 Python
Django的models模型的具体使用
Jul 15 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
Python datetime模块使用方法小结
Jun 18 Python
Python 创建TCP服务器的方法
Jul 28 Python
python中绕过反爬虫的方法总结
Nov 25 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
JS中操作JSON总结
2020/12/06 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
代理人委托书
2014/09/16 职场文书
中学教师个人总结
2015/02/10 职场文书
商务代表岗位职责
2015/02/15 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书