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

容器类型数据

序列 

存放多值的连续内存空间,并且通过编号访问,其实就是类似于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是一样的的作用

元组、集合、字典 

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值