【雕爷学编程】MicroPython手册之数据类型 list 列表 extend(iterable)

在这里插入图片描述

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。

MicroPython主要特点包括:
1、语法和功能与标准Python兼容,易学易用。支持Python大多数核心语法。
2、对硬件直接访问和控制,像Arduino一样控制GPIO、I2C、SPI等。
3、强大的模块系统,提供文件系统、网络、图形界面等功能。
4、支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
5、代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
6、开源许可,免费使用。Shell交互环境为开发测试提供便利。
7、内置I/O驱动支持大量微控制器平台,如ESP8266、ESP32、STM32、micro:bit、掌控板和PyBoard等。有活跃的社区。

MicroPython的应用场景包括:
1、为嵌入式产品快速构建原型和用户交互。
2、制作一些小型的可 programmable 硬件项目。
3、作为教育工具,帮助初学者学习Python和物联网编程。
4、构建智能设备固件,实现高级控制和云连接。
5、各种微控制器应用如物联网、嵌入式智能、机器人等。

使用MicroPython需要注意:
1、内存和Flash空间有限。
2、解释执行效率不如C语言。
3、部分库函数与标准版有差异。
4、针对平台优化语法,订正与标准Python的差异。
5、合理使用内存资源,避免频繁分配大内存块。
6、利用原生代码提升速度关键部位的性能。
7、适当使用抽象来封装底层硬件操作。

总体来说,MicroPython让Python进入了微控制器领域,是一项重要的创新,既降低了编程门槛,又提供了良好的硬件控制能力。非常适合各类物联网和智能硬件的开发。

在这里插入图片描述
MicroPython的数据类型是指在MicroPython编程环境中,可以用来表示不同种类的数据的方式。MicroPython的数据类型与Python的数据类型基本相同,但也有一些区别和限制,因为MicroPython是为了运行在资源有限的微控制器上而设计的。这里将介绍MicroPython中常用的数据类型,包括数字、字符串、列表、元组和字典,以及它们的应用场景和注意事项。

一、MicroPython数据类型 extend(iterable)
MicroPython的 list 列表是一种用于存储多个值的数据结构,它可以包含不同类型的元素,如整数、字符串、列表等。列表中的每个元素都有一个索引,表示它在列表中的位置,索引从0开始,即列表的第一个元素的索引是0,第二个元素的索引是1,依次类推。列表是可变的,也就是说,我们可以对列表中的元素进行添加、删除、修改等操作。

列表支持很多操作,例如:
append(val):在列表的末尾添加一个新元素val。
extend(iterable):在列表的末尾添加另一个列表或可迭代对象中的所有元素。
insert(index, val):在指定的索引位置插入一个新元素val。
remove(val):从列表中移除第一个值为val的元素。
pop(index):从列表中移除指定索引位置的元素,并返回该元素。
del list[index]:从列表中删除指定索引位置的元素。
len(list):返回列表中元素的个数。
list1 + list2:将两个列表连接起来,返回一个新的列表。
list * n:将列表重复n次,返回一个新的列表。
val in list:判断val是否在list中,返回True或False。

MicroPython的 extend(iterable)是一个列表的方法,它用于在列表的末尾添加另一个列表或可迭代对象中的所有元素。这个方法会修改原来的列表,而不会返回一个新的列表。

应用场景:
extend(iterable)方法在许多场景中非常有用,特别是在需要合并或扩展列表的元素时。一些常见的应用场景包括:
1、合并列表:当需要将两个或多个列表合并为一个列表时,可以使用extend(iterable)方法将一个列表的元素添加到另一个列表中。
2、扩展列表:当需要将额外的元素添加到现有列表的末尾时,可以使用extend(iterable)方法将额外的元素作为可迭代对象添加到列表中。
3、处理可迭代数据:当需要逐个处理可迭代对象中的元素时,可以使用extend(iterable)方法将可迭代对象的元素逐个添加到列表中,便于后续的处理和操作。

extend(iterable)方法的语法和用法
要使用extend(iterable)方法,我们需要先有一个列表对象,然后用点号.连接列表对象和方法名,再用括号()包含要添加的另一个列表或可迭代对象。例如,下面的代码创建了一个包含三个整数的列表,并用extend(iterable)方法在末尾添加了另一个包含两个字符串的列表:

my_list = [1, 2, 3] # 创建一个包含三个整数的列表
my_list.extend(["hello", "world"]) # 在末尾添加另一个包含两个字符串的列表
print(my_list) # 输出 [1, 2, 3, "hello", "world"]

注意,extend(iterable)方法会把另一个列表或可迭代对象中的元素分开添加到原来的列表中,而不会把它们作为一个整体元素添加。如果我们想把它们作为一个整体元素添加,我们可以用append(val)方法。例如,下面的代码在列表的末尾添加了一个列表作为一个元素:

my_list = [1, 2, 3]
my_list.append(["hello", "world"])
print(my_list) # 输出 [1, 2, 3, ["hello", "world"]]

extend(iterable)方法可以添加任意类型的可迭代对象,包括元组、集合、字典等。例如,下面的代码在列表的末尾添加了一个元组和一个字典:

my_list = [1, 2, 3]
my_list.extend((4, 5)) # 在末尾添加一个元组
my_list.extend({"a": 6, "b": 7}) # 在末尾添加一个字典
print(my_list) # 输出 [1, 2, 3, 4, 5, "a", "b"]

注意,当我们在列表的末尾添加一个字典时,它会把字典中的键添加到列表中,而不会把键值对作为元素添加。如果我们想把键值对作为元素添加,我们可以用字典的items()方法来获取键值对组成的可迭代对象。例如,下面的代码在列表的末尾添加了字典中的键值对:

my_list = [1, 2, 3]
my_list.extend({"a": 6, "b": 7}.items()) # 在末尾添加字典中的键值对
print(my_list) # 输出 [1, 2 ,3 , ("a", 6), ("b", 7)]

特点:
1、扩展列表:extend(iterable)方法用于将可迭代对象中的元素逐个添加到列表的末尾。可迭代对象可以是列表、元组、字符串或其他可迭代类型。
2、原地修改:extend(iterable)方法会直接修改原列表,将可迭代对象中的元素逐个添加到列表的末尾,而不会返回新的列表副本。

用法:
extend(iterable)方法的使用很简单,只需提供一个可迭代对象作为参数,该方法会将可迭代对象中的元素逐个添加到列表的末尾。

my_list = [1, 2, 3]
my_list.extend([4, 5, 6])
print(my_list)  # 输出:[1, 2, 3, 4, 5, 6]

上述示例中,首先创建了一个包含整数的列表my_list,然后使用extend([4, 5, 6])方法将列表[4, 5, 6]中的元素逐个添加到my_list列表的末尾。最后打印输出修改后的列表内容。

使用注意事项:
1、修改原列表:extend(iterable)方法会直接修改原列表,而不会创建新的列表对象。因此,添加元素后的列表将是原地修改后的结果。
2、逐个添加元素:extend(iterable)方法会将可迭代对象中的元素逐个添加到列表的末尾。如果可迭代对象本身是一个列表,那么该列表中的元素将逐个添加到原列表中。
3、可迭代对象的类型:可迭代对象可以是列表、元组、字符串或其他可迭代类型。只要对象可以进行迭代,就可以作为参数传递给extend方法。
4、注意对象引用:如果可迭代对象中包含可变对象(如列表或字典),那么添加到原列表中的是可变对象的引用,而不是副本。这意味着对原对象的修改也会反映在列表中。

下面是一个更复杂的示例,演示了extend(iterable)方法的使用和注意事项:

my_list = [1, 2, 3]
new_list = [4, 5]
my_tuple = (6, 7)

my_list.extend(new_list)
my_list.extend(my_tuple)

print(my_list)  # 输出:[1, 2, 3, 4, 5, 6, 7]

在上述示例中,首先创建了一个列表my_list,然后创建了另一个列表new_list和元组my_tuple。通过extend(new_list)方法,将new_list中的元素逐个添加到my_list中。接着,使用extend(my_tuple)方法将元组my_tuple中的元素逐个添加到my_list中。最后,打印输出修改后的列表内容。

总结 MicroPython的 extend(iterable)是一个列表的方法,它用于在列表的末尾添加另一个列表或可迭代对象中的所有元素。这个方法会修改原来的列表,而不会返回一个新的列表。extend(iterable)方法可以添加任意类型的可迭代对象,但会把它们中的元素分开添加到原来的列表中。如果要把它们作为一个整体元素添加,我们可以用append(val)方法。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值