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 Django模板的使用方法(图文)
Nov 04 Python
python统计一个文本中重复行数的方法
Nov 19 Python
python简单实现计算过期时间的方法
Jun 09 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
django query模块
Apr 20 Python
Python字符串对象实现原理详解
Jul 01 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
Python3合并两个有序数组代码实例
Aug 11 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 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
第三节 定义一个类 [3]
2006/10/09 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
mui上拉加载功能实例详解
2017/04/13 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
3分钟学会一个Python小技巧
2018/11/23 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
毕业自荐信
2013/12/16 职场文书
家长对小学生的评语
2014/01/28 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
毕业设计说明书
2014/05/07 职场文书
大班亲子运动会方案
2014/06/10 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
思想工作总结范文
2015/08/12 职场文书
python编写五子棋游戏
2021/05/25 Python
MySQL分区表管理命令汇总
2022/03/21 MySQL