导 言
ESP32/ESP8266微波教程的目的是解释微波词典使用自然,我们将在这里看到的功能也适用于Python,因为词典是它基本数据结构之一
请注意,这应该是MicroPython词典导论教程因此,我们将不覆盖最高级功能
测试使用uPyCraft微信IDE.最简单教程方式是发送MicroPython命令行命令可查uPyCraft使用本片前一文章
ESP32和ESP8266都进行了测试。ESP32测试使用ESP-WROOM-32设备整合成ESP32FireBeetle板通过教程显示图片取自ESP32测试
创建词典
创建词典语法简单化,像括号中键值对数列并隔开单键值对和休克切分键值加结肠
1字典={key1:value1,key2:value2
Bellow显示字典声明 键值和值串
测试算法= {{bey1}: "value1+key2+2+
特例宣布空字典, 空字典中我们只使用卷括号, 内空无物
emptyDictionary = {} print(emptyDictionary)
可检查图一预期结果执行这些命令
图1-字典创建命令输出
注意,尽管我们用字符串作为密钥,但可以使用任何类型可破解性支持平等比较[1]可阅读更多关于这个题目来.反之,词典的值可以是任何类型[2]
存取元素
为了访问词典中元素,我们简单使用方括号并插入关键值内,我们想从中获取值注意此语法相似于列表中显示来,虽然现在我们的密钥可以与数字不同
注意例子Bellow中,我们创建字典类型不同对象,更精确的整数,字符串和链表有效, 运行代码时会看到
测试算法= {}关键1: 1,2,2,key3 :[1,2,3]}打印(测试算法[“键1”)打印(测试算法[“键2 )打印(测试算法[“键3 )
自然,如果我们尝试访问字典中不存在的密钥,我们会报错
print(testDictionary["nonExistingKey"])
可检查图2输出这些命令注意键不存在时报错
图2存取词典元素
获取元素的另一种方式是调用词典对象接通法并传递输入密钥返回键值,如果它存在如果密钥不存在,此调返回默认值,可任选传递为获取法第二参数缺省值未指定时, 未找到密钥则不返回值
mydectionary = {{}key1:live2,key3}val= mydiscriptary.get
可查看图3中调取法bellow结果注意,如果密钥并不存在和我们不传递额外值方法,它返回一无所有,如前文所说反之,如果我们想,我们可以传递值返回,如果找不到项目,则返回值返回,即“找不到项目”字符串返回,现在返回时返回时不返回时不返回时返回时不返回时
图3获取法获取词典值
注意用运算符检查字典中是否有密钥,下文可见尽管如此,它无法用于检验词典中是否存在值[3]
myDistrictions= {skey1:live1,key2:lvale2,key3:lvaly3}中键1
图4中可确认运算符同时应用字典键值的预期结果
图4-运算符词典应用
获取词典所有密钥,我们可以调用密钥法返回对象时带字典键类似地,我们可以得到所有字典值对象并调用值法图例对象由词典键值对组成,我们简单调用项目方法
注意3例中我们指对象而非列表,因为这些方法实际返回对象类型dict视图中提供动态视图词典反映变化[4]即使用类型函数返回类型,传递对象输入方法返回对象
Python列表中的这些对象转换像调用列表函数一样简单,传递为输入所述对象
mydectionary= {skey1:Luction2,List2}jects= MyDictionary.keyss
获取词典中元素数时, 我们简单调用 len函数并传递输入词典
len(myDictionary)
下图5查取这些命令的结果
图5-前词典方法调用输出
更新并添加元素
更新并添加词典元素等值基本地说,我们使用方括号并附关键值,即我们想加/修改并分配值如果密钥不存在,则键值对加入词典万一它存在,则更新值
空字表=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果我们要添加键值对, 单词典对二, 我们调用更新方法对其中之一并传递输入
字典toad={key2}:“值2'}空定义.更新(词典toad)打印
可确认图6下显示这些命令的预期结果
图6-添加元素并更新MicroPython词典
现在我们知道如何更新字典,我们将确认前段的语句表示dit-View对象应保持对词典状态的最新视图测试它时,我们将创建字典,调用键法并打印结果,并再为词典添加一键并重打印先前获取对象
mydectionary= {{}key1:live1,key2:live2,key3:listicary.keyss
图7显示dict-View对象使用新键更新
图7测试dit-View对象行为
删除元素
从词典删除元素时, 我们只需使用 del运算符并存取用密钥删除元素如果要删除全字典,我们可以应用del运算符词典(不访问特定元素)。
myDistrictions = {s'key1>:live1,key2':live2,bey3
要删除词典所有元素,不删除它,我们可以调用清晰方法这会删除所有键值配对并使我们词典空化
myDistrictions = {skey1:live1,key2:live2,key3} myDistrictions.clement(myDriction)print
图8显示前几大字典删除选项
图8-字典删除功能
注意:本文章由爱心电子计算机工程师Nuno Santos撰写生活里斯本,葡萄牙可查原创文章来.
他写了许多实用教程和项目ESP32,ESP8266博客了解更多