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 相关文章推荐
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
Python selenium如何设置等待时间
Sep 15 Python
Python的CGIHTTPServer交互实现详解
Feb 08 Python
Python目录和文件处理总结详解
Sep 02 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 Python
QML用PathView实现轮播图
Jun 03 Python
python实现粒子群算法
Oct 15 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
Python实现一个论文下载器的过程
Jan 18 Python
Python中Permission denied的解决方案
Apr 02 Python
移除Selenium中window.navigator.webdriver值
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制作图型计数器的例子
2006/10/09 PHP
PHP的博客ping服务代码
2012/02/04 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
JavaScript 调试器简介
2009/02/21 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
JavaScript类的写法
2016/09/17 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
python super函数使用方法详解
2020/02/14 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
PHP中如何创建和修改数组
2012/05/02 面试题
介绍一下UNIX启动过程
2013/11/14 面试题
高级技校毕业生自荐信
2013/11/18 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
《识字五》教学反思
2014/03/01 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
绿色环保倡议书
2015/04/28 职场文书
目标责任书格式范文
2015/05/11 职场文书
初中毕业生感言
2015/07/31 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python