![Python程序设计应用教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/751/31729751/b_31729751.jpg)
2.4 序列的数据结构
数据结构是计算机存储、组织数据的方式。序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字,即它的位置或索引,第一个索引是0,第二个索引是1,依此类推。序列都可以进行的操作包括索引、截取(切片)、加、乘、成员检查。此外,Python已经内置确定序列的长度以及确定最大和最小元素的方法。Python内置序列类型最常见的是列表、元组和字符串。另外,Python提供了字典和集合这样的数据结构,它们属于无顺序的数据集合体,不能通过位置索引来访问数据元素。
2.4.1 列表
列表(List)是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表类似于其他语言的数组,但功能比数组强大得多。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00034001.jpg?sign=1738913119-S9DByzNYeyKsm19N8Lfrzk2w4Un7oxds-0-3a15857c4168e22cef13a3d5256b2006)
列表索引从0开始。列表可以进行截取(切片)、组合等。
1.访问列表中的值
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00034002.jpg?sign=1738913119-BrT1vekypNVGmNOUworMeSJF2w5Lrgcn-0-8387d637349776c95bd6b9affd6299e8)
列表
使用下标索引来访问列表中的值,同样也可以使用方括号切片的形式截取。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00034003.jpg?sign=1738913119-AouIrwZyOHdkPOS7n68ev8AQobrIMrja-0-ece6775bb650f4bd92260f40e8cd821d)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00034004.jpg?sign=1738913119-g16mg5V8MeP0Fphc6CAohNqYnFpsCQKV-0-10d71950a4e505d918d00f8ddfa516ca)
2.更新列表
可以对列表的数据项进行修改或更新。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00034005.jpg?sign=1738913119-HpBxL71rF2lXzrQLpOY4YORecQDEK0XH-0-72fab0e8dc6be67d698838b203b9b9c3)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035001.jpg?sign=1738913119-8gvv6yr1LvssJK2aAS1UTJ8aCTpmxkHb-0-9d5efcb70f1fad38e1ab0aee71ec42b4)
3.删除列表元素
方法一:使用del语句删除列表中的元素。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035002.jpg?sign=1738913119-mDvTGvlte2bSUkwoyGnVJR1CVoS2iSZ3-0-56fe7989bdeac4157d66fce83b2bbb9d)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035003.jpg?sign=1738913119-e5E98Gkq3643mnqEnx3kUFKFRVvzMD9P-0-0b58ac876bbdac000552d57cb18da9d3)
方法二:使用remove()方法删除列表中的元素。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035004.jpg?sign=1738913119-Z3r2eclYvRER513liN13qbJzEhjnQzIP-0-a9730a8b274ab36be6af5c312d12d241)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035005.jpg?sign=1738913119-eqBQG6LzjbAiJiYIOkn8nBgaeqSMhxiU-0-c81e16dc62dd15e86bfe36dc7562e04c)
方法三:使用pop()方法删除列表中指定位置的元素,无参数时删除最后一个元素。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035006.jpg?sign=1738913119-PDGyCluEgVJvFWcWLisxKIwRBlJPqEfJ-0-90d8c693cb397052e427d4554446b4a3)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035007.jpg?sign=1738913119-mjnr7wxUDkemC10n7UvqVAsOAXi2uv3k-0-1958ba742d6fa00bbe4b838d47dee268)
4.添加列表元素
可以使用append()方法在列表末尾添加元素。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035008.jpg?sign=1738913119-oNefiKBU9oswPDVKlOHWg9I7z25YYJ4V-0-c6d34503b2c62d5e1b8a65f6edbcbfb1)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00035009.jpg?sign=1738913119-GNimsfg8iQfNx6la7K30ZM2DnA7F7DI4-0-eeed99163a103317692e0b83416013e7)
5.定义多维列表
可以将多维列表视为列表的嵌套,即多维列表的元素值也是一个列表,只是维度比父列表小1。二维列表(即其他语言的二维数组)的元素值是一维列表,三维列表的元素值是二维列表。例如:定义1个二维列表。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036001.jpg?sign=1738913119-yuLYyvNkTZqsx5o1v8us2qKeeH14gm9t-0-e195804752929a4b2ffa86e9e4ad81f5)
二维列表比一维列表多一个索引,可按如下方法获取元素:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036002.jpg?sign=1738913119-Iy6u2joKw2wtymeSF5ffXUPqPe9l10I8-0-d61d3505c33b7413ab61f1888bb8b845)
例如:定义3行6列的二维列表,打印出元素值。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036003.jpg?sign=1738913119-WGUJvFdyf2LaaT6aAJ8BwHONMsLfUb5H-0-d054da478c6cac5982df8cbc44a0dbdf)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036004.jpg?sign=1738913119-WmUycPWSTNE0ROgIn6JPjMRUFWvKFZb0-0-c896d64145bc1745820ef1b5a40702a9)
列表生成式是Python内置的一种极其强大的生成列表的表达式,详见3.2.5节。本例中第3行生成的列表如下:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036005.jpg?sign=1738913119-zo1PJIO2EVIrWFDqpZu3md2hZaPZPCYm-0-2d2dd14e67aaa726d9eb500691a76256)
6.列表的操作符
列表对“+”和“*”的操作符与字符串相似。“+”号用于组合列表,“*”号用于重复列表。Python列表的操作符应用示例如表2-12所示。
表2-12 Python列表的操作符应用示例
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036006.jpg?sign=1738913119-EcSXtCx2vyd1il1Zrwq59154rKgCQBV2-0-97acc03de228f20067de75bb64c1accc)
Python列表内置函数如表2-13所示。假设列表名为list。
表2-13 Python列表的内置函数
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00036007.jpg?sign=1738913119-kUCaAt6NWP5PXL7z7OCJNnsLSiz2pEXj-0-7ff29b5053b1571b91a0068bacd8310a)
续表
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037001.jpg?sign=1738913119-S8vyeUNQqiwQL6U8ACDo2qXRk6c9FH4c-0-543e2d687032a5afc50612366e3ca10b)
2.4.2 元组
Python的元组(Tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号[]。元组中的元素类型也可以不相同。
1.创建元组
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037002.jpg?sign=1738913119-uhHXC1j1ePPJcqJbOfTIhl1i7dPiZL6y-0-5251e0fb43693b5146398700e3e05128)
元组
创建元组很简单,只需要在括号中添加元素,并使用逗号隔开即可。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037003.jpg?sign=1738913119-yNe3E70HVojwNxJfbtrzX43wlZXSrjFB-0-bf07decd35a54ff2a591589eadae5f9b)
如果创建空元组,只需写个空括号即可。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037004.jpg?sign=1738913119-jsTplu9tUSE1saNAi1wG64G6VqLTmaLk-0-4392d2eadc4762112f70f24168627a62)
元组中只包含一个元素时,需要在第一个元素后面添加逗号。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037005.jpg?sign=1738913119-uHKkWxhxb3FtM9EhYMqNetvYv15hK3pk-0-dc62f73dc46aac7b787daea7fba4cc57)
元组与字符串类似,下标索引从0开始,可以进行截取、组合等。
2.访问元组
可以使用下标索引来访问元组中的值。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037006.jpg?sign=1738913119-T0qGnUgTy9735fWlOWQPqiItql04JNYj-0-bba190aea49374f92abb4f0e81a46c13)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037007.jpg?sign=1738913119-j1mZEQ3HfaRAFNisyGbDO9bx1TQF2zBc-0-3b56f348b844c70ad780338c15a0683a)
3.元组连接
元组中的元素值是不允许修改的,但可以对元组进行连接组合。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00037008.jpg?sign=1738913119-Rc1kDm9Uw3aEHQF9Aw4MFR80dRCunYYh-0-b7bf2fd1ba09e50e3ef3106450cfa4ab)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038002.jpg?sign=1738913119-J6hdt9aWcp3V4uu3KntaQZzBtLksqCdI-0-706afb07ec7ff9ab7fcf14926099721e)
4.删除元组
元组中的元素值是不允许删除的,但可以使用del语句删除整个元组。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038003.jpg?sign=1738913119-w3AnTSVa7pUpVlNGwFU7aCAX5q9WOcqo-0-46229a4855704617d9112b1ec83dd0ce)
以上实例元组被删除后,输出变量会有异常信息。输出结果如下:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038004.jpg?sign=1738913119-DuE8GkhDyt7HUCafbWegO17hbqiGTQfW-0-d3400ed423a0620dccf7934a1fb740f5)
5.元组运算符
与字符串一样,元组之间可以使用“+”号和“*”号进行运算。这就意味着它们可以组合和复制,运算后会生成一个新的元组。Python元组的操作符应用示例如表2-14所示。
表2-14 Python元组的操作符应用示例
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038005.jpg?sign=1738913119-uX2P62mYuUI6qfI1kSZg4dOYQKGryYIV-0-a8e48f08ecada543632d7f6bb2e2fdee)
Python元组包含了如表2-15所示的内置函数。
表2-15 Python元组的内置函数
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038006.jpg?sign=1738913119-atwUGXIAFDRcJ9A9JsV4YauH6iEOePkB-0-719e22af2ec8aa379f3cd77cdbe6eabf)
例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038007.jpg?sign=1738913119-MUHgJv5BMW8hL3ZqR9qECsBabNz0lKdJ-0-23f4dc15d648c78f569c16e531f07796)
注意:可以使用元组来一次性对多个变量赋值。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038008.jpg?sign=1738913119-EJ7UGHjuECS9cxxOikudpUmphXp4Ga3J-0-fe6084c0bb0aeff1401bd659b38b24b8)
如果想实现x、y的交换,可以编写程序如下:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00038009.jpg?sign=1738913119-5xqpoM6csBVLo7u1IT0cHIJHkQmUCa1I-0-7e17dd0d295b795e9179bed3aae69ffc)
6.元组与列表转换
因为元组数不变,所以可以将元组转换为列表,从而可以改变数据。实际上列表、元组和字符串之间可以互相转换,需要使用3个函数:str()、tuple()和list()。
可以使用下面的方法将元组转换为列表:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039002.jpg?sign=1738913119-F8yCuz6QcGu6pmyqsIf5VtgQEShu2YJp-0-448bcf09da98a440182efb911eff1cd7)
例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039003.jpg?sign=1738913119-7on7uIHwGGFeK59xL8ZlISJfWA6fQWs0-0-9ddb988621940b9d268564de38b2693a)
可以使用下面的方法将列表转换为元组:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039004.jpg?sign=1738913119-oCIx2wI0CJPwR8LBMpwCVUch1DnlWc66-0-6ce7cbbebab408cee1d570f6f113df43)
例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039005.jpg?sign=1738913119-FKAZbMxl9BJRH1FlRC5rbyQkPd0wu7lw-0-49e76eae8ac3fb7263606396916120ae)
将列表转换成字符串如下:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039006.jpg?sign=1738913119-7eIIiYkmLNcZP1U87im1nomnfadnRKX8-0-a50630ca189aacc206247f425e004aa9)
2.4.3 字典
Python字典(Dict)是一种可变容器模型,且可存储任意类型的对象,如字符串、数字、元组等其他容器模型。字典也被称作关联数组或哈希表。
1.创建字典
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039007.jpg?sign=1738913119-kOQIepSl1ossgQW3zYZhtgWmrOOwFufU-0-0ba93895ac3cd3578528491f3c031eee)
字典和集合
字典由键和对应值(key=>value)成对组成。字典的每个键/值对里面键和值用冒号分隔,键/值对之间用逗号分隔,整个字典包括在花括号中。基本语法如下:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039008.jpg?sign=1738913119-oxBAUAR34nFO7vCdeKxR9EDoqAPbR6fc-0-2649f82c8bbf467f3b02b4bef54c6641)
注意:键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。
一个简单的字典实例:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039009.jpg?sign=1738913119-o98eVtgAWeHjGHWJyRF3ixfq74AngVDB-0-dbfe2a70250994f95ac54b2c2056c4d7)
也可如此创建字典:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00039010.jpg?sign=1738913119-dcY6amA0PjddgbukmjG0BoKk1ypowMlJ-0-b597328919a4264130486da84018c1ae)
字典有如下特性:
(1)字典值可以是任何Python对象,如字符串、数字、元组等。
(2)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会覆盖前面的值。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040001.jpg?sign=1738913119-6MOTarVgMHAOwB34iHJhxRMbNdv8jKKj-0-ca40d8c3ced7c12de863550cb88c9e29)
实例输出结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040002.jpg?sign=1738913119-B7VJKNuzJNwQESNYqD3j1vuLO58ebhrQ-0-50024e659a06ed76df42adf309b24c21)
(3)键必须不可变,所以可以用数字、字符串或元组充当。用列表就不行,例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040003.jpg?sign=1738913119-QHi4d9lQOknxxPvuPJkcufzzRvFHYkBo-0-347adeab4157563285f8033d7c0ab427)
程序运行后输出错误结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040004.jpg?sign=1738913119-lE8Pd0aJ2FhUXpjYHjDHxqEoCnveTa0Y-0-eb7fcbbd2931045241166d3bfe8c437c)
2.访问字典里的值
访问字典里的值时把相应的键放入方括号里。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040005.jpg?sign=1738913119-gjmSsYYflHFXGZS4ctIEUp2zPTWBTb9T-0-3de8777a50049fa2f0fa3a02bd281178)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040006.jpg?sign=1738913119-Pd4p7F43a0Vl07HDkjKsWhOd0YCTUJPg-0-bce2815853e16b295e23de524b9cc1c9)
如果用字典里没有的键访问数据,会输出错误信息:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040007.jpg?sign=1738913119-1cRjCsdBfdivQzuNYv2SiffGQKWV4CxH-0-a20cb85445147ca28cff08d57c14cb94)
由于没有sex键,以上实例输出错误结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040008.jpg?sign=1738913119-WASgcDQJdMSBvHn2eZOeHR3PZ23LF7nb-0-e53a6aa835c671f1feeb086578cf8f49)
3.修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040009.jpg?sign=1738913119-wjvadkqGZBVIQbmMU9oZX5LWEZg6I3GA-0-4e7dabacf7db4fba36c6168c0c6b6d6a)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00040010.jpg?sign=1738913119-1Xr7RCd7wpW4GdacJeNL0QkADZQAhQSN-0-89abdde002b3b69499a36866ad1acabb)
4.删除字典元素
del()方法允许使用键从字典中删除元素(条目);clear()方法清空字典所有元素。
显示删除一个字典用del命令,例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041001.jpg?sign=1738913119-HOizOQVMyvTeaaw251iCADahz3JvXSzR-0-3325f98a5e3b858c37b62ab4ac508ce9)
5.in运算
字典里的in运算用于判断某键是否在字典里,对于value值不适用。功能与has_key(key)方法相似。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041002.jpg?sign=1738913119-ZGZOVKgRDJtsVlw2cWofvoBC69nj6acs-0-ccaa9f81714a0f4b5f353480407de4eb)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041003.jpg?sign=1738913119-ROxIV6vrLS60VdIb9yvBDfE8CyolLXoM-0-f36be49499605fd588f1403afe44d654)
6.获取字典中的所有值
dict.values()以列表返回字典中的所有值。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041004.jpg?sign=1738913119-j3Uyeod9bnf2zpKMZHrNICoXH1LuhiQo-0-6a952fa25eb114e2dbe5c28bd392e273)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041005.jpg?sign=1738913119-YjBtSbuUw616PAA25GHJPKcoRSkveIda-0-0db3cb1a089074d606bb1d39f0185c0e)
7.items()方法
items()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041006.jpg?sign=1738913119-h5XG5BEEBYJwGpDMTMQVMpdnA3ZIoNDA-0-129543719075c74658e75d6b7843dcfe)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041007.jpg?sign=1738913119-508Csr43q4KSquSTqjoKmR0bu6n2Ns2y-0-f065b3302157968ed551d1da908b19c7)
注意:字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典中各个元素并没有顺序之分(因为不需要通过位置查找元素),因此,存储元素时进行了优化,使字典的存储和查询效率最高。这也是字典和列表的另一个区别:列表保持元素的相对关系,即序列关系;而字典是完全无序的,也称为非序列。如果想保持一个集合中元素的顺序,需要使用列表,而不是字典。
字典内置函数和方法如表2-16所示。假设字典名为dict1。
表2-16 字典内置函数和方法
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00041008.jpg?sign=1738913119-tFflYVcNhx2BtCUKFFkqEHVXz9orZcH2-0-ad7408cd2347a52336f1ffbb7f0fe26e)
续表
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042001.jpg?sign=1738913119-lKQ3J1hbtQVbD0r4REvEZIM8cubbdyDm-0-ab7c83fa8f7ff84093bf169d97c9340f)
2.4.4 集合
集合(Set)是一个无序不重复元素的序列。集合的基本功能是进行成员关系测试和删除重复元素。
1.创建集合
可以使用大括号({})或者set()函数创建集合。例如:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042002.jpg?sign=1738913119-Xb89P709EJFmd4waueJp6AFvUrXrd77u-0-d014ae18b213abe38cc699971aa640d2)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042003.jpg?sign=1738913119-EUOCNW2Ya9vIife4kYXN4tRpvrCwBQIw-0-147be4fe31bc59b024623eb306c4ac5d)
注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。
2.成员测试
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042004.jpg?sign=1738913119-x5ZIcFGTdU9lFasuMVP7poYLb0AM8EyZ-0-7837d276e964ceaaa6a6cb25ba1c3adb)
程序运行结果:
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042005.jpg?sign=1738913119-dfV9KdU0YwsHzNLR95st41u4hyLjHkkm-0-f078fb800f922539592940eca7bc3ef6)
3.集合运算
可以使用“-”“|”“&”运算符进行集合的差集、并集、交集运算。
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00042006.jpg?sign=1738913119-wfCwAkTomGv2jbknRKfqie9ICpQOLJrD-0-a5c4dc33d51f68602b6a3b816f580c35)
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00043001.jpg?sign=1738913119-2F4GnOLjGvIbupW3j6AJz34ntiN4CMHv-0-367e94dc45a105c623804dfc4a4152b2)
![](https://epubservercos.yuewen.com/596AA5/17180253805312106/epubprivate/OEBPS/Images/img00043002.jpg?sign=1738913119-GYYGqsAcRk8IMx0nqPJ8r98WQ9ZF1yUL-0-f376583f254c69e5e55bb4f48e9087ef)