python如何在列表、字典中筛选数据


Posted in Python onMarch 19, 2018

python如何在列表、字典中筛选数据?

实际问题有哪些?

1.过滤掉列表[3,9,-1,10.-2......] 中负数
2.筛选出字典

{‘li_ming':90,'xiao_hong':60,'li_kang':95,'bei_men':98} 中值高于90的项

3.筛选出集合{3,9,-1,10.-2......]中能被3整除的数

问题1如何解决?

最普通方法:

#!/usr/bin/python3
 
 
def filter_l(data):
 res = []
 for i in data:
  if i > 0:
   res.append(i)
 return res
 
if __name__ == '__main__':
 data = [3, 9, -1, 10, -2]
 new_l = filter_l(data)
 print(new_l)

如何解决列表问题?

初始化列表: 生成 -10 到 10 的随机数列表,去除负数

1. filter方法:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 # 循环data列表,把值一个一个取出 交个lambda中x,如何lambda函数为True,返回x生成一个新的filter对象
 return filter(lambda x: x >= 0, data)
 
if __name__ == '__main__':
 # 列表生成10个 -10 到 10 的随机数
 data = [randint(-10, 10) for _ in range(10)]
 print(data)
 # new_l 为可迭代对象
 new_l = filter_l(data)
 print(list(new_l), type(new_l))

2. 列表解析:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 # 循环data列表,把值一个一个取出 是否满足if条件,满足True返回x生成一个新列表
 return [x for x in data if x >=0 ]
 
if __name__ == '__main__':
 # 列表生成10个 -10 到 10 的随机数
 data = [randint(-10, 10) for _ in range(10)]
 print(data)
 # new_l 为可迭代对象
 new_l = filter_l(data)
 print(list(new_l), type(new_l))

运行速度比较:解析 > filter > 普通

如何解决字典?

字典解析,筛选数据:

#!/usr/bin/python3
 
from random import randint
 
 
def filter_l(data):
 print(data.items())
 # 把字典转换成dict_items,循环里面的key和value,满足if条件返回对应的key和value值
 return {k: v for k, v in data.items() if v > 90}
 
if __name__ == '__main__':
 # 字典生成式
 data = {x: randint(0, 100) for x in range(10)}
 print(data)
 new_l = filter_l(data)
 print(new_l, type(new_l))

如何解决集合问题?

#!/usr/bin/python3
from random import randint
 
 
def filter_l(data):
 # 迭代集合中值,满足条件为True返回x
 return {x for x in data if x % 3 == 0}
 
if __name__ == '__main__':
 # 集合生成式
 data = {randint(0, 100) for x in range(10)}
 print(data)
 new_l = filter_l(data)
 print(new_l, type(new_l))

如何逻辑整理?

无论是解析器还是普通方法,都需要for循环,if判断,逻辑都是满足条件返回值,过滤出满足条件的值,无论是生成器还是解析器都满足这个格式:“ 返回值 for循环 if判断 “,通过lambda满足格 式:“lambda 输入值:条件, 格式化数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用ElementTree解析XML示例
Jun 02 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
Python登录系统界面实现详解
Jun 25 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
anaconda升级sklearn版本的实现方法
Feb 22 Python
Python中with上下文管理协议的作用及用法
Mar 18 Python
python素数筛选法浅析
Mar 19 #Python
python实现堆和索引堆的代码示例
Mar 19 #Python
python实现一个简单的并查集的示例代码
Mar 19 #Python
python使用筛选法计算小于给定数字的所有素数
Mar 19 #Python
python将每个单词按空格分开并保存到文件中
Mar 19 #Python
python将文本分每两行一组并保存到文件
Mar 19 #Python
python: line=f.readlines()消除line中\n的方法
Mar 19 #Python
You might like
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
连接Python程序与MySQL的教程
2015/04/29 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
材料成型专业个人求职信范文
2013/09/25 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
孔繁森观后感
2015/06/10 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
Python加密与解密模块hashlib与hmac
2022/06/05 Python