python 如何在列表、字典、集合中根据条件筛选数据--实战经验

embedded/2024/10/21 11:44:47/

一、列表

需求:过滤掉列表中的负数数据

from random import randint
#生成数据
data = [randint(-10,10) for _ in range(10)]
[-6, -10, -6, -9, -7, -7, 2, -9, 9, 2]

第一种,传统的方法

res=[]
for x in data:if x>=0:res.append(x)

第二种,filter方法

list(filter(lambda x:x>=0,data))
#[2, 9, 2]

第三种,列表解析

[x for x in data if x>=0]
#[2, 9, 2]

总结:无论是运行速度还是代码容易理解程度,列表解析最好用。

二、字典,筛选出字典里超过90分的数据

随机生成数据:

d = {f'{x}号':randint(60,100) for x in range(1,21)}
{
'1号': 92,'2号': 85,'3号': 85,'4号': 68,'5号': 86,'6号': 81,'7号': 70,'8号': 65,'9号': 86,'10号': 85,'11号': 86,'12号': 60,'13号': 94,'14号': 70,'15号': 89,'16号': 69,'17号': 71,'18号': 83,'19号': 60,'20号': 74
}

字典列表解析

{k:v for k,v in d.items() if v>90}
#{'1号': 92, '13号': 94}

三、集合解析

{-10, -9, -7, -6, 2, 9} 

要求过滤能被3整除的集合

{x for x in s if x%3==0}


http://www.ppmy.cn/embedded/37588.html

相关文章

Android 蓝牙实战——蓝牙音乐播放/暂停调用(二十一)

通过前面的学习我们了解了蓝牙开发中的各个协议,同时也知道蓝牙音乐的开发需要使用的是蓝牙的 a2dp 和 avrcp,而对蓝牙音乐的控制使用的是 avrcp,这里我们就梳理一下蓝牙音乐播放的调用流程。 一、调用流程 在前面的 Avrcp 协议中&#xff0…

1984. 学生分数的最小差值C++

给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。 从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。 返回可能的 最小差值 。 示例 1: 输入&…

无人机+垂直起降:微型共轴双旋翼无人机技术详解

微型共轴双旋翼无人机技术是一种独特的无人机设计,它结合了垂直起降(VTOL)能力和微型无人机的灵活性。这种设计允许无人机在无需跑道的情况下垂直起降,并具备在空中悬停和执行各种飞行动作的能力。 适用于集群控制,荷载…

大型语言模型的新挑战:AMR语义表示的神秘力量

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享,与你一起了解前沿科技知识! 引言:AMR在大型语言模型中的作用 在自然语言处理(NLP)的领域中,抽象意义表示&…

bfs之八数码

文章目录 八数码解题思路图解举例算法思路 代码CPP代码Java代码 八数码 在一个 33的网格中,1∼8这 8个数字和一个 x 恰好不重不漏地分布在这 33 的网格中。 例如: 1 2 3 x 4 6 7 5 8在游戏过程中,可以把 x 与其上、下、左、右四个方向之一…

我独自升级崛起下载方法分享 下载教程

《我独自升级:崛起》这款精彩绝伦的动作角色扮演游戏,灵感来源于大热网络漫画,让玩家亲自踏上主角程肖宇的征途,从觉醒初阶到实力飞跃,每一步成长都扣人心弦。值得注意的是,尽管全球正式发布日期定在了五月…

C++笔记-makefile添加第三方.h和.cpp及添加.h和lib库模板

目文件结构如下所示时: project/├── main.cpp├── test.cpp├── DIRA/│ ├── A.cpp│ └── A.h├── DIRBLIB/│ └── libB.so└── include/└── B.h Makefile如下所示: # 编译器设置 CXX g CXXFLAGS -stdc11 -Wall# 目录…

DrissionPage

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许…