python 学习笔记(一):在列表、字典、集合中根据条件筛选数据
一、在列表中筛选数据
在列表中筛选出大于等于零的数据,一般通用的用法代码如下:
data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表
result = [] #存放筛选结果的列表
for x in data: #依次迭代循环每个元素
if x >= 0: #判断是否符合筛选条件
result.append(x) #大于等于零就将该元素加入结果列表中
print(result) #打印输出
在python 中还有更加简洁高效的方法:
1、filter函数:
from random import randint
#生成一个包含10个随机数的列表,每个元素的取值范围在-10到10之间
data = [randint(-10, 10) for _ in range(10)]
#filter函数的第一个参数是过虑函数,通常使用lambda匿名函数,第二个参数是要过滤的列表
result = filter(lambda x: x >=0, data)
print(result)
2、列表解析:
...
result = [x for x in data if x >= 0]
...
二、在字典中筛选数据
在字典中根据值来筛选数据,下面的例题是筛选出分数大于等于90分同学的代码:
from random import randint
#同学姓名列表,用字母简化代表同学姓名
students = ['x', 'y', 'z', 'a', 'b', 'c', 'g', 'k', 'j']
#迭代循环姓名列表,随机生成每个同学的分数
data = {s: randint(60, 100) for s in students}
#根据分数来筛选过滤字典中的每个元素
result = {k:v for k, v in data.items() if v >= 90}
print(result)
三、在集合中筛选数据
在集合中筛选数据的操作和字典非常相似,只是略去键值之间的冒号。下面是在集合中筛选出能整除3的元素的代码:
from random import randint
#生成包含20个随机数的列表,元素的取值范围为1到100之间
data = [randint(1, 100) for _ in range(20)]
#将列表转换为集合,去除重复元素
my_set = set(data)
#筛选出能整除3的元素
result = [x for x in my_set if x%3 == 0]
print(result)
python 学习笔记(一):在列表、字典、集合中根据条件筛选数据的更多相关文章
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...
- Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据
Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...
- 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧
实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...
- python数据结构-如何在列表、字典、集合中根据条件筛选数据
如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...
- Py小技巧一:在列表,字典,集合中根据条件筛选数据
1.过滤掉列表中的某些项---列表解析 data=[1,4,2,8,5,-1] res=[] a.依次迭代列表中每一个项 for x in data: if >=0: res.append(x) ...
- python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据
一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...
- python基础===如何在列表,字典,集合中根据条件筛选数据
#常见的操作如下: data = [1, 5, -3, -2, 6, 0, 9] res = [] for x in data: if x>=0: res.append(x) print(res ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- python学习笔记(一)、列表和元祖
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
随机推荐
- CAN学习方法(知乎)
作者:心机之花链接:https://www.zhihu.com/question/26776219/answer/244433861来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- [ZOJ 3076] Break Standard Weight
题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5009 题意:给你两个数字,可以把其中一个拆成两个数字,计算这三个数字 ...
- CF #546 D.E
D coun[i]表示[i]这个数右边有多少个数j能和他组成题中所给的二元组(i,j) 如果一个数的coun[i]=n-i-ans 那么说明他可以与最后一个交换 同时不计算贡献 因为它是向右走的 对左 ...
- PHP工程师学习计划
从开始学习PHP到现在,只是大致的对PHP的一些基础的东西了解一下,从没有制定一个较为完整的学习计划,所以自己的编程水平一直都处在基本的入门阶段,所以结合自己的实际情况制定了一个感觉还算合理的学习计划 ...
- HTML5的快捷方式
ctrl + / 单行注释 ctrl + shift + / 块注释 ctrl + shift + “+” 展开 ctrl + shift + “-” 折叠 ctrl + alt + L ...
- Redux应用多人协作的思路和实现
先上Demo动图,效果如下: 基本思路 由于redux更改数据是dispatch(action),所以很自然而然想到以action作为基本单位在服务端和客户端进行传送,在客户端和服务端用数组来存放ac ...
- hive日期函数-杂谈(一)
来到广发返现由于历史遗留问题很多时间格式十分杂乱 我将总结一下时间日期的事情 1.hive原生时间函数的功能 2.一些基本业务时间范围的指标的sql案例 3.自定义udf函数让后来人更方便
- Canvas实用库Fabric.js使用手册
简介什么是Fabric.js? Fabric.js是一个可以简化Canvas程序编写的库. Fabric.js为Canvas提供所缺少的对象模型, svg parser, 交互和一整套其他不可或缺的工 ...
- Android蓝牙操作
1.添加蓝牙权限 <uses-permission android:name = "android.permission.BLUETOOTH"/> <!--启用应 ...
- hdu 6076 Security Check
题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6076 2017 Multi-University Training Contest - Team 4 ...