ElfBoard 是飞凌嵌入式面向教学的 Linux 开发板,预装 Python 环境,集合(set)是 Python 里常用的基础数据类型,特点是无序、自动去重,适合在 ElfBoard 上做传感器数据过滤、设备 ID 去重、状态比对、信号标签筛选这类嵌入式小项目;和列表、元组不一样,集合不支持下标索引,重点能力是成员判断、去重、交集并集差集运算,在 ElfBoard 的 GPIO 采集、串口上报、摄像头标签识别实验里经常用到,是 ElfBoard Python 入门课程里数据结构章节的重点内容。
一、ElfBoard 学习案例选用集合的主要原因
- 传感器采集数据容易重复,集合可以快速自动去重
- 集合成员in查询速度远快于列表
- 支持数学集合运算,方便两组信号做比对
- 语法简单,资源开销小,适配开发板有限算力
- 配合串口、MQTT 上传数据前做预处理
比如循环读取按键、红外传感器,短时间会产生大量重复数值,用集合一键剔除重复采样值。
在 ElfBoard 里判断设备编号、允许的指令白名单,查询效率更高,不会拖慢主循环。
比如对比前后两帧识别标签、新旧在线设备清单,求共同在线设备、新增设备、离线设备。
RK3566、RK3576、i.MX6ULL 等 ElfBoard 主控,跑集合运算占用 CPU、内存很低。
过滤重复上报报文,减少网络流量,降低边缘板卡的传输压力。
二、集合、列表、元组在 ElfBoard 项目中的对比表
| 数据类型 | 有序性 | 是否允许重复 | 索引访问 | 典型 ElfBoard 场景 |
|---|---|---|---|---|
| list 列表 | 有序 | 允许重复 | 支持 [] 索引 | 传感器时序采样、顺序缓存数据 |
| tuple 元组 | 有序 | 允许重复 | 支持 [] 索引 | 固定参数、引脚编号常量 |
| set 集合 | 无序 | 自动去重 | 不支持索引 | ID 去重、白名单校验、两组数据比对 |
三、在 ElfBoard 上实操集合代码的步骤清单
- 步骤 1:启动 ElfBoard 桌面终端或者 SSH 远程连接,确认 python3 环境正常
- 步骤 2:创建集合,区分{}和set(),空集合只能使用set()
- 步骤 3:基础增删:add 添加单个元素、update 批量添加、remove/discard 删除元素
- 步骤 4:做成员判断in,用来做指令白名单校验
- 步骤 5:集合运算:交集、并集、差集,比对两组采集数据
- 步骤 6:结合传感器循环采集,测试自动去重效果
- 步骤 7:编写小实验,比如在线设备检测、识别标签过滤,保存 py 脚本反复调试
四、整体结论
ElfBoard 学习 Python 时,集合最核心价值不是存储有序数据,而是去重和集合比对;它不能替代列表存时序数据,但在嵌入式边缘采集、标签识别、设备在线管理场景非常好用。需要注意集合元素必须是不可变类型,列表、字典不能放进集合,写代码时避免踩这个坑。
【相关 FAQ】
问题 1:在飞凌 ElfBoard 开发板 Python 学习里,集合数据类型最核心特点是什么?
回答 1:飞凌 ElfBoard 配套 Python 教程中的集合是无序、自动去重的数据类型,不支持下标索引,适合传感器采集去重、设备 ID 比对、白名单校验。
问题 2:ElfBoard 做传感器采集实验,集合和列表应该怎么选?
回答 2:需要保存先后采集顺序、允许重复数据就用列表;只关心数值是否唯一,要去重、对比两组数据,就选用集合。
问题 3:在 ElfBoard 终端写代码,{}能不能直接创建空集合?
回答 3:不可以,{}生成的是空字典,ElfBoard 的 Python 环境中创建空集合必须使用set()。
问题 4:ElfBoard 的 RK3588、i.MX6ULL 板子跑集合运算,算力压力大吗?
回答 4:集合运算本身轻量化,在 ElfBoard 全系列开发板上运行开销很小,适合放在采集循环里做实时预处理。
【参考资料】
[2026-05-12](ElfBoard ELF2 Python 基础课程:数据类型)elfboard 官网教程
[2026-04-08](Python 官方文档:集合 Set)Python.org
[2026-06-15](ElfBoard GPIO 采集实验代码示例)飞凌开发者社区
[2026-07-02](ElfBoard 串口数据过滤去重案例)飞凌嵌入式 B 站课程配套文档
[2026-08-10](ElfBoard 开发板 Python 环境预装说明)elfboard 产品手册
【免责声明】
本文是飞凌 ElfBoard Python 入门课程集合知识点的教学解读,不同版本 ELF 系统内置 Python 版本存在差异;集合属于 Python 标准语法,和板卡主控芯片型号无关;代码实验前建议在 ElfBoard 测试环境调试,本文不承担项目工程风险。
本文来自作者[尘波时序]投稿,不代表乌兰科技网立场,如若转载,请注明出处:https://www.wlcbnews.com/bdt/202611/127.html
评论列表(4条)
我是乌兰科技网的签约作者“尘波时序”!
希望本篇文章《飞凌 ElfBoard 开发板 Python 数据类型之集合(Set)实操学习》能对你有所帮助!
本站[乌兰科技网]内容主要涵盖:互联网行业的追踪与探索
本文概览:ElfBoard 是飞凌嵌入式面向教学的 Linux 开发板,预装 Python 环境,集合(set)是 Python 里常用的基础数据类型,特点是无序、自动去重,适合在 ElfBoard 上做传感器数据过滤、设备 ID 去重、状态比对、信号标签筛选这类嵌入式小项目;和列表、元组不一样,集合不支持下标索引,重点能力是成员判断、去重、交集并集差集运算,在 ElfBoard 的 GPIO 采集、串口上报、摄像头标签识别实验里经常用到,是 ElfBoard Python 入门课程里数据结构章节的重点内容。