2.9 字典和集合
字典是我们学习时常用的工具,特别是学生,更是离不开它。相信你也一定查阅过英文字典吧?如果让你查一下Python 这个单词,你会怎么查呢?你肯定不会从字典的第一页开始查,你会先找到开头字母p,再查找第二个字母y,然后是第三个字母t……这样很快就能找到这个单词所在的页数。
在Python 编程中,字典是一种常用的高级数据类型,它在Python 中的单词是dict,就是英文单词dictionary 的缩写,但它不是我们日常使用的字典,虽然它们的中文翻译名字一样,它是Python 编程中的字典。它通过一个键名(key)来确定一个键值(value),它们是成对出现的,所以又叫键值对(key—value),能充当键名的一般都是字符串类型,键值类型则可以是Python 中任意合法的数据类型,字典在Python 中使用一对花括号{ }来表示。下面看一个例子。
示例2-9 先创建一个空的字典,取名叫D,然后通过键名输入一些键值,通过键名读取键值并显示出来,最后统计这个字典的长度,显示出它所有的键名、键值和键值对。
运行结果如下:
上面的注释都很详细,请大家一定要在自己的计算机上运行一下,体会字典的用法。
和列表一样,Python 中的字典也有很多自带的操作功能,如表2-8 所示,示例2-9 用到了其中的一些操作字典的功能(或叫操作字典的函数,函数的概念和用法在本书后面章节会讨论),其他功能请读者自行上机测试。
表2-8
除字典外,数学上还有一个非常基本的分支,叫集合论,它是很多现代数学分支的基础,在Python 中有一种模仿数学上集合的数据类型,就叫集合(set),其中包含的元素是不能够重复的,元素之间也没有顺序,即它是一种无序的不能重复的数据类型,它自带的操作功能如表2-9 所示,下面举例说明。
表2-9
示例2-10 首先创建两个空集合,分别叫S1 和S2,再分别向它们添加一些数值,利用表2-9 的功能来操作它们,并显示出结果。
运行结果如下: