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 相关文章推荐
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
Django基础知识与基本应用入门教程
Jul 20 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
Python3实现飞机大战游戏
Apr 24 Python
Keras loss函数剖析
Jul 06 Python
Django mysqlclient安装和使用详解
Sep 17 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
python复合条件下的字典排序
Dec 18 Python
python基础之while循环语句的使用
Apr 20 Python
Python selenium的这三种等待方式一定要会!
Jun 10 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 sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
原生JS实现天气预报
2020/06/16 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python实现淘宝购物系统
2019/10/25 Python
python中Django文件上传方法详解
2020/08/05 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
WSDL的操作类型主要有几种
2013/07/19 面试题
自荐书格式
2013/12/01 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
党员民主评议个人总结
2014/10/20 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
详解pytorch创建tensor函数
2022/03/22 Python