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