普中科技MicroPython基于esp32的基础教程-02

news2024/10/5 17:28:45

容器类型数据

序列 

存放多值的连续内存空间,并且通过编号访问,其实就是类似于C语言的数组,相同数据类型、连续内存空间、使用下标访问 

 序列索引

支持正负操作,0到N,-N到-1 ,但是C语言不支持负操作

个人觉得这种类型的序列相当于是字符串数组,并且只能使用“”来定义,因为后面的[]表达的是列表。因此个人觉得在单片机中使用这个知识稍微有点少,因为我们很少使用字符串  

序列的加和乘操作 

 

 切片操作

切片注意:start表示开头(包括本身),end表示结尾(不包括该位置) 

 成员测试

列表 

列表的用法是最像C语言数组的用法

创建列表

列表比C语言的数组多了最重要的特点就是元素类型可以不同,C语言的数组定义是相同数据类型的集合,因此列表比数组的功能更全面

列表之间可以相互复制,像上面的可以直接list_one = list_two,那么list_one的值就变成了list_two,比C语言方便了很多,C语言需要实现一个数组的值复制到另外一个数组中,需要使用循环语句通过下标一个一个赋值,而python直接赋值实现(感觉内部直接帮我们实现了,毕竟python是面向对象的,而C语言是面向过程的,面向对象的直接把过程在内部实现,我们看不见,跟自己做菜和买外卖的区别)

我感觉创建列表不需要使用函数,感觉没必要有点,因为我们定义一个列表很简单,自己使用[],与C语言类似

 判断一个对象是否是可迭代对象

 追加元素

在C语言的数组中我们需要定义数组大小,但是在python中却不需要定义数组大小(难到原理是定义了一块内存,不够就继续申请,够了其他内存浪费?,那定义的内存空间在堆?,这个问题我也不知道),C语言中直接a[7] = 78;表示追加了,在python中需要使用+或者使用函数进行追加,感觉+更好记住

 直接使用+追加单个列表元素

wfh=[12,34,12,34,67]
print(wfh)
[12, 34, 12, 34, 67]
wfh+[34]
[12, 34, 12, 34, 67, 34]
wfh=[23,34,56,89]
print(wfh)
[23, 34, 56, 89]
wfh.append(45)    追加单个元素,列表.append()
print(wfh)
[23, 34, 56, 89, 45]
wfh.extend([23,45,67]) 追加多个元素,可以自己写元素,也可以写列表
print(wfh)
[23, 34, 56, 89, 45, 23, 45, 67]
a=[12,12,12]
wfh.extend(a)
print(wfh)
[23, 34, 56, 89, 45, 23, 45, 67, 12, 12, 12]

插入元素

这个+实现不了,因此只能使用函数实现

[23, 34, 56, 89, 45, 23, 45, 67, 12, 12, 12]
wfh.insert(2,8888)
print(wfh)
[23, 34, 8888, 56, 89, 45, 23, 45, 67, 12, 12, 12]
wfh.insert(15,8888)
print(wfh)
[23, 34, 8888, 56, 89, 45, 23, 45, 67, 12, 12, 12, 8888]

i表示的就是索引号(直接理解为下标号即可),如果索引号对于元素个数,那么就放在最后一个

替换元素

直接对元素重新赋值即可,与C语言的使用是一样的

删除元素

删除指定位置(下标)的元素、移除某一个元素值(内容)、

 这里的pop好像说错了,它应该移除的是下标的,因此与del是一样的的作用

元组、集合、字典 

列表的功能都能实现他们,因此我觉得使用列表就可以了,并且它与数组很像,因此开发的时候使用起来更方便


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

温度、压力、物位仪表工作原理

温度、压力、物位仪表工作原理 一、温度仪表 1、温度仪表通常分一次仪表与二次仪表,一次仪表通常为:热电偶、热电阻、双金属温度计、就地温度显示仪等。二次仪表通常为温度记录仪、温度巡检仪、温度显示仪、温度调节仪、温度变送器等。 2、温度测量仪表…

Java基础进阶

Stream流 引例 需求&#xff1a;按照下面要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 1. 把所有以“曹”开头的元素存储到新集合中 2. 把曹开头&#xff0c;长度为3的元素存储到新集合中 List<String> list List.of("曹操", "…

【6s965-fall2022】剪枝✂pruningⅡ

剪枝比例 问题&#xff1a;我们应该如何找到每层的剪枝比率&#xff1f; 较浅的层&#xff0c;低层次的特征较深的层&#xff0c;抽象的特征 问题&#xff1a;哪些层的冗余度最高&#xff1f; 非统一剪枝&#xff08;每一层的稀疏度不一样&#xff09;比统一剪枝&#xff0…

python学习 --- 集合基础

目录 一、什么是集合&#xff1f; 二、集合的创建方式 1、直接使用{} 2、使用内置函数set() 三、集合的相关操作 1、集合元素的判断 2、集合元素的新增 3、集合元素的删除 四、集合间的关系 五、集合的数学操作 1、交集操作 2、并集操作 3、差集操作 4、对称差集…

基于微信小程序的校园商铺系统小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…

2022大数据产业年度“国产化优秀代表厂商”榜单发布,亚信科技AntDB数据库位列其中

国产化/信创亚信科技 ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 亚信科技也做数据库&#xff1f;实际上亚信科技AntDB是我国最早的国产数据库产品之一&#xff0c;是在21世纪初国外品牌数据库无法满足我国暴涨的通信需求的情况下&#xff0c;为了帮助通信运用商更好…

普中科技手把手教你学ESP32--基于MicroPython-02

第四讲&#xff1a;LED灯实验 MicroPython函数使用 本来需要加入machine.的&#xff0c;但是我引入了form machine import Pin就可以直接省略了 machine是一个模块&#xff0c;Pin是machine中的一个功能 Micropython官网学习 点击DOCS文档 选择相应的芯片 查看对应的模块 …

LeetCode 1801. 积压订单中的订单总数(C++)

思路&#xff1a; 该题主要是对比销售、采购的价格来进行数组\队列的pop和push操作来实现&#xff1b;采用优先队列来实现排序&#xff0c;其中销售和采购对应小队列和大队列 对于 销售 操作&#xff1b;如果采购的积压订单中有出价格比自己的销售价格高&#xff0c;就出 对于 …

C++设计模式(7)——外观模式

外观模式 亦称&#xff1a; Facade 意图 外观模式是一种结构型设计模式&#xff0c; 能为程序库、 框架或其他复杂类提供一个简单的接口。 问题 假设你必须在代码中使用某个复杂的库或框架中的众多对象。 正常情况下&#xff0c; 你需要负责所有对象的初始化工作、 管理其…

29.Isaac教程--调整导航

调整导航 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录调整导航定位器全局规划器局部规划器控制器定位器 定位器是导航堆栈的关键部分&#xff0c;因为了解机器人的位置对于正确导航到目的地至关重要。 因此&#xff0c;快速准确的定…

2、threejs官网本地化部署启动和Parcel热加载:Web应用打包工具介绍及使用

一、Three.js 官网 背景&#xff1a; threejs 是国外的网站&#xff0c;访问有时候比较卡&#xff0c;所以建议本地化部署启动一下&#xff0c;方便随时访问学习。 部署方案&#xff1a; 1、访问Threejs官网 2、点击github 选择 dev版本下载 3、下载完之后&#xff0c;解压…

Java中的this关键字

介绍 this关键字用于引用当前实例&#xff0c;在Java语言中&#xff0c;当创建一个对象后&#xff0c;Java虚拟机就会为其分配一个指向对象本身的指针&#xff0c;这个指针就是“this”。 Java关键字this只能用于方法方法体内&#xff0c;在类中的非静态方法中使用&#xff0…

14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)

本篇主要是集合框架基础和List集合&#xff0c;Map集合等等后续更 集合14.1 集合框架14.1.1 概念14.1.2 集合架构14.2 Collection接口14.2.1 常用方法14.3 迭代器14.3.1 迭代器原理14.3.2 迭代器使用常见问题14.4 泛型基本使用14.5 ArrayList类14.5.1 常用方法14.5.2 实现原理1…

【手写 Vue2.x 源码】第三十三篇 - diff算法-收尾+阶段性总结

一&#xff0c;前言 上篇&#xff0c;diff算法-乱序比对&#xff0c;主要涉及以下几个点&#xff1a; 介绍了乱序比对的方案介绍了乱序比对的过程分析实现了乱序比对的代码逻辑 本篇&#xff0c;diff 算法的阶段性梳理 二&#xff0c;初渲染与视图更新流程 Vue 初渲染时&…

注册商标需要哪些材料和条件?

申请注册商标条件是什么1、申请人必须是申请认定商标的所有人&#xff0c;是在当省区域内的自然人、法人和其他组织;2、该商标自核准注册之起连续使用满三年并继续有效&#xff0c;且无权属争议;3、该商标为相关公众所熟知&#xff0c;在相关市场内具有较高的知名度;4、该商标核…

亚信科技AntDB数据库荣获2022年度技术卓越奖

近日&#xff0c;业界知名IT垂直媒体IT168发布了“2022技术卓越奖”主题奖项&#xff0c;亚信科技AntDB数据库荣获技术卓越奖。 2022 “技术卓越奖”由行业CIO/CTO大咖、技术专家及IT媒体三方联合评选&#xff0c;评判标准代表了用户和媒体声音。经过多方评审&#xff0c;亚信科…

jvm参数简介

Xmx3550m&#xff1a;设置JVM最大堆内存为3550M。 -Xms3550m&#xff1a;设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同&#xff0c;以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k&#xff1a;设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M&#xff0c;之…

【SCL】1200应用案例:交通灯模拟自动装料控制

使用博图SCL语言来编写 交通灯模拟控制 和 自动装料应用案例 文章目录 目录 前言 一、应用&#xff1a;交通灯模拟控制 1.控制要求 2.I\o分配和接线 3.程序编写和效果 4.小结 二、自动装料模拟控制 1.控制要求 2.I/O分配 3.程序编写 4.小结 总结 前言 本篇文章我们继续学习西…

宏任务和微任务

宏任务和微任务1. 什么是宏任务和微任务2. 宏任务和微任务的执行顺序3. 去银行办业务的场景4. 分析以下代码输出的顺序5. 经典面试题1. 什么是宏任务和微任务 JavaScript 把异步任务又做了进一步的划分&#xff0c;异步任务又分为两类&#xff0c;分别是&#xff1a; ① 宏任…

寄存器、RAM、ROM、Flash

单片机寄存器简述 寄存器详细请点这里 1、单片机寄存器就是单片机片内存储器&#xff08;片内RAM)一部分&#xff0c;每一个都有地址。只不过这几个寄存器有特殊的作用&#xff0c;比如指令&#xff1a;MUL AB,这条指令用到两个寄存器A,B进行乘法&#xff0c;结果存到BA里面&a…