Python3数据类型-04-字典

Python3数据类型-字典-04

4.1 什么是字典(dict)?

字典同样是一种容纳多个元素的容器,在很多方面和列表类似。但是,不同的一点是,字典不是以位置来索引的。

字典包含多个元素,每个元素以,分隔开,每个元素包含两部分:键(Key)值(Value)键(Key)值(Value)之间用冒号:分隔开。所有元素用大括号{}扩起来。

字典元素的索引正是依靠元素的键(Key)实现的。

字典元素的键(Key)必须是唯一的,值则不需要唯一。

d = {key1 : value1, key2 : value2 }

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组

4.2 构建一个字典

dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
dict1 = {28.5: 36}
dict2 = {'abc': 12, 'ghi': 16}

print(dict_score)
print(dict1)
print(dict2)

输出结果为:

dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
dict1 = {28.5: 36, 16.7: 74}
dict2 = {'abc': 12, 'ghi': 16}

4.3 字典的访问

字典的访问是通过键来实现的,例如:

print(dict_score['Leo'])
print(dict1[16.7])
print(dict2['ghi'])

输出结果为:

92
74
16

4.4 字典修改和删除

前面提到,字典是一种可变的数据类型,那么我们就可以对其进行修改或者删除。

字典的修改:包括对字典已有的值的重新复制以及增加一组键和值。

# 下面演示一下对字典进行修改
dict_score['Chris'] = 95
dict_score['Steve'] = 89
dict1[28.5] = 12
dict2['abc'] = 8
print(dict_score)
print(dict1)
print(dict2)

输出结果如下:

{'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 95, 'Steve': 89}
{28.5: 12, 16.7: 74}
{'abc': 8, 'ghi': 16}

字典的删除:包括对已有值的删除del和对整个字典的清空clear

# 下面演示一下字典的删除
del dict_score['Tim']
dict1.clear()
# del dict2
print(dict_score)
print(dict1)
print(dict2)

输出结果如下:

{'Smith': 90, 'Leo': 92, 'Chris': 95, 'Steve': 89}
{}
{'abc': 8, 'ghi': 16}

需要注意的是,对整个字典执行del命令之后,系统将整个字典从内存中删除,删除后在执行print命令,系统会报错,提示未定义。

clear命令只是清空了这个字典中的所有键及值,但是字典本身还存在于系统内。

4.5 字典内置函数

主要的内置函数:

len(dict) —— 字典的长度,即键的总数

str(dict) —— 输出字典,以可打印的字符串表示

type(dict) —— 返回字典的类型

4.6 小结

这一节我学习了字典的一些基础知识,一些字典内置方法我没有继续学习,我将在今后具体应用过程中再来学习和加深。

下一节我将学习一下集合。

你可能感兴趣的:(Python3数据类型-04-字典)