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实现自动为照片添加日期并分类的方法
Sep 30 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python实现感知机(PLA)算法
Dec 20 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
详解Python sys.argv使用方法
May 10 Python
Python绘制频率分布直方图的示例
Jul 08 Python
python提取log文件内容并画出图表
Jul 08 Python
python实现知乎高颜值图片爬取
Aug 12 Python
利用python画出AUC曲线的实例
Feb 28 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 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/06/25 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
django之session与分页(实例讲解)
2017/11/13 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Python下载网络小说实例代码
2018/02/03 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
详解Python文件修改的两种方式
2019/08/22 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
员工年终演讲稿
2014/01/03 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏