一、在列表中筛选数据

在列表中筛选出大于等于零的数据,一般通用的用法代码如下:

 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 学习笔记(一):在列表、字典、集合中根据条件筛选数据的更多相关文章

  1. python基础一 -------如何在列表字典集合中根据条件筛选数据

    如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...

  2. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  3. 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧

    实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...

  4. python数据结构-如何在列表、字典、集合中根据条件筛选数据

    如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...

  5. Py小技巧一:在列表,字典,集合中根据条件筛选数据

    1.过滤掉列表中的某些项---列表解析 data=[1,4,2,8,5,-1] res=[] a.依次迭代列表中每一个项 for x in data: if >=0: res.append(x) ...

  6. python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据

    一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...

  7. python基础===如何在列表,字典,集合中根据条件筛选数据

    #常见的操作如下: data = [1, 5, -3, -2, 6, 0, 9] res = [] for x in data: if x>=0: res.append(x) print(res ...

  8. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  9. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

随机推荐

  1. 余数之和BZOJ1257

    给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod ...

  2. std::map 的swap错用

    map<int, shared_ptr<int>>map_test; shared_ptr<); map_test[] = tmp_1; shared_ptr<); ...

  3. 使用dsoframer演示ppt

    优点: (1)不用直接打开PowerPoint (2)可以嵌入到Form中,那种先打开ppt然后将ppt嵌入到Form中的方式,会先打开PowerPoint 缺点: 很早就停止更新了....  但是没 ...

  4. SpringBoot读取Resource下文件的几种方式

    https://www.jianshu.com/p/7d7e5e4e8ae3 最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传:这里模板位置resour ...

  5. PHP swoole websocket协议上机指南

    这一上机实验的开发环境用的是jetbrain公司的phpstorm 上级步骤如下: 创建websocket服务端 <?php $server = ); function onopen($serv ...

  6. springboot整合mongodb问题1-Decimal128和BigDecimal的转换之mongodb转换器使用(转)

    转自:https://blog.csdn.net/weixin_41792559/article/details/79575524 1.Decimal128的了解由于mongodb4.3以上新加了De ...

  7. numpy常用矩阵操作

    1.删除列 column_to_delete = [0, 1, 2] arr = np.delete(arr, [0, 1, 2], axis=1) 2.归一化 arr = normalize(arr ...

  8. Codecombat 游戏攻略——JavaScript编辑语言——关卡(计算机科学四)Ⅱ

    第16关:潜伏 // 用findEnemies把敌人存在数组enemies中 // 只攻击萨满巫师,不要攻击牦牛! var enemies = hero.findEnemies(); var enem ...

  9. jquery trigger() 方法 语法

    jquery trigger() 方法 语法 作用:trigger() 方法触发被选元素的指定事件类型.深圳大理石平台 触发事件:规定被选元素要触发的事件. 语法:$(selector).trigge ...

  10. LibreOffice/Calc:取消单元格中的超链接

     造冰箱的大熊猫@cnblogs 2019/2/27 在LibreOffice Calc的表格中输入电子邮箱地址或者网址后,软件会自动将输入内容转换为超链接形式显示.在某些情况下这种自动转换并非用户所 ...