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开发之快速搭建自动回复微信公众号功能
Apr 22 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
python3操作微信itchat实现发送图片
Feb 24 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 Python
python同时替换多个字符串方法示例
Sep 17 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Python自动创建Excel并获取内容
Sep 16 Python
python打包多类型文件的操作方法
Sep 21 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 Python
Python中使用Opencv开发停车位计数器功能
Apr 04 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/09/09 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
php实现文件下载实例分享
2014/06/02 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
Python Requests 基础入门
2016/04/07 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
详解python metaclass(元类)
2020/08/13 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
出纳员岗位责任制
2014/02/11 职场文书
爱国主义主题班会
2015/08/14 职场文书
学生会主席任命书
2015/09/21 职场文书
Python基础之数据结构详解
2021/04/28 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫