小朋友们好,大朋友们好!
我们今天学习字典(dict)的知识,内容如下:
什么是字典(dict)
字典的创建和删除
访问字典元素
遍历字典元素
添加修改删除字典元素
字典推导式
什么是字典
字典(dictionary,缩写dict)是Python中另一个重要的数据结构,和列表(list)类似,也是可变序列,不过它是无序序列,保存内容通过’键-值’形式存放的。
类似《新华字典》,通过拼音(键)找到汉字(值)。键是唯一的,值可以有多个。
字典的主要特征:
通过键而不是通过索引来读取值
字典是任意对象的无序集合
字典是可变的,并且可以任意嵌套
字典中的键必须唯一
字典中的键必须不可变
字典的创建和删除
定义字典时,每个元素包含两个部分键和值。
以卖水果为例,键为水果名称,值为水果价格。
创建字典时,键值通过冒号:分割,相同两个元素使用逗号,分割,所有元素用大括号括{}起来。
格式如下:
dict1={key1:value1,key2:value2,...,keyn:valuen}
dict1:字典名称
key1~keyn:元素的键,必须唯一且不可变,可以是字符串、数字或者元组。
value1~valuen:元素的值,可以是任意数据类型,可以不唯一。
以上图水果和其价格为例:
dict1={柑橘:6.66,柠檬:8.8}
print(dict1)
同列表、元组一样,可以使用如下方式创建空字典:
dict1={}
dict1=dict{}
还可以通过已有数据快速创建字典,有以下两种形式:
dict1=dict(zip(list1,list2))
dict1:字典名称
zip函数:用于将多个列表或元组对应位置的元素组合为元组,并且返回这些内容的zip对象。
如果想要获取元组,可以将zip对象使用tuple()函数转换为元组。如果想获取列表,可以使用list()函数将其转换为列表。
猫妹的测试代码26.2.2.py:
meinv_name=[西施,王昭君,貂蝉,杨玉环]meinv_beautiful=[沉鱼,落雁,闭月,羞花]dict1=dict(zip(meinv_name,meinv_beautiful))#print(type(zip(meinv_name,meinv_beautiful)))print(dict1)
使用键值对创建字典格式如下:
dict1=dict(key1=value1....keyn=valuen)
dict1:字典名称
key1~keyn:元素的键,唯一且不可变,可以是字符串数字或元组
value1~valuen:元素的值,可以不唯一可以变化,可以是任何类型
另外,我们可以通过已经存在的元组和列表创建字典。
可以使用del来删除字典。
猫妹的测试代码见26.2.3.py。
dict1={星期日:Sunday,星期一:Monday,星期二:Tuesday,星期三:Wednesday,星期四:Thursday,星期五:Friday,星期六:Saturday}#print(type(dict1))print(\n\n访问字典(下标方式):)print(dict1)print(dict1[星期日])print(dict1[星期一])print(dict1[星期二])print(dict1[星期三])print(dict1[星期四])print(dict1[星期五])print(dict1[星期六])print(\n\n判断元素是否在字典中:)if星期一indict1:print(dict1[星期一])else:print(没有星期一)if星期八indict1:print(dict1[星期八])else:print(没有星期八)print(\n\n访问字典(dictname.get(key,[default])):)print(星期日的英文是:,dict1.get(星期日))print(星期六的英文是:,dict1.get(星期六))print(星期八的英文是:,dict1.get(星期八,没有星期八哦))
访问字典元素
可以通过键来访问值,访问字典元素可以通过下标方式实现。下标不是索引,而是键。
如果访问不存在的键则会报错,可以先用if语句查询下元素是否在字典中。
另外,Python推荐使用字典对象的get()方法获取指定的键,格式如下:
dictnanme.get(key,[default])
dictname:字典名称
key:指定的键
default:可选项,当指定的键不存在时,返回默认值,如省略,则返回None
猫妹的测试代码见26.3.py:
dict1={我的名字:猫妹,我的爱好:Python,我的年龄:10,我的
本文编辑:佚名
转载请注明出处:网站地址 http://www.cqwpz.com/kcywh/11336715.html