![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
2.6 Python结构数据类型
Python语言中结构数据类型有很多种,常见的就是集合类型、列表类型、元组类型和字典类型。本节先了解这4种结构数据类型的基本概念。
2.6.1 集合类型(Sets)
Sets(集合)是一个无序不重复元素的集。它的主要功能是自动清除重复的元素。创建集合时用大括号({})来包含其元素。
例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P42_57010.jpg?sign=1739281454-i0Xd90VJsn6mXkAmMmy1M3GGTbpEAwyC-0-1d6f9b4f78b0a62f2d4706b6dabc9889)
输出结果如图2-10所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P42_2604.jpg?sign=1739281454-23zjgm9zd0SRfQKmVWP9RhJaNDq5RCgO-0-85140a8dd1cc87b095261f1773e4faaf)
图2-10 输出集合的内容
如果集合中有重复的元素,就会自动将其删除。
例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P42_57011.jpg?sign=1739281454-4p3awbSjnTfsepKkAmZTzBvMNL9L7mmj-0-eafdfcd51cedc0ed6f76e09d24adbd06)
删除结果如图2-11所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P42_2629.jpg?sign=1739281454-pO8JURyjtgbuaahaH6lABjoEqMxZZ17x-0-ca777ca46de08894afc08a937b848bd8)
图2-11 删除重复的元素
注意 如果要创建一个空集合,就必须用set()函数,例如:
>>>goods = set()
2.6.2 列表类型(List)
List(列表)是Python中使用比较频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,支持数字、字符串,甚至可以包含列表(所谓嵌套)。列表是写在中括号([])之间、用逗号分隔开的元素列表。
要创建一个列表对象,使用中括号([])来包含其元素。例如:
>>>s = [10,20,30,40]
列表对象s共有4个元素,可以使用s[0]来返回第1个元素、s[1]来返回第2个元素,以此类推。
访问列表中元素的方法如图2-12所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P43_2666.jpg?sign=1739281454-GPYdbze65GR5uIirZS4Zey4rUp6UrzbS-0-1fb81cca9529cdac93915361cb13bafb)
图2-12 输出列表中的元素
如果索引值超出范围,Python就会抛出一个IndexError异常,如图2-13所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P43_2676.jpg?sign=1739281454-YRdUxkUVUpJVoGhpUgldAaDDoivUxfAx-0-138774d41f28507cefda3d4a37188e82)
图2-13 抛出一个IndexError异常
Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可以让Python返回一个列表元素。例如:
>>>b = [100,200,300,400] >>>b[-1]
执行结果如图2-14所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P43_2700.jpg?sign=1739281454-7HXGMlmdhrv6XOBNvySwBvKkkNun64OP-0-8c7673f5ff8616b063fe83d5173746f2)
图2-14 访问列表最后一个元素
在不知道列表长度的情况下,上述方法很实用。以此类推,索引-2表示倒数第二个列表的元素。
2.6.3 元组类型(Tuple)
Tuple(元组)对象属于序数对象,是一群有序对象的集合,并且可以使用数字来做索引。元组对象与列表对象类似,差别在于元组对象不可以新增、修改与删除。要创建一个元组对象,可以使用小括号()来包含其元素。其语法如下:
variable = (element1, element2, ...)
下面创建一个元组对象,含有4个元素:100、200、300和400。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P44_57019.jpg?sign=1739281454-hOY0Zmm0i4al1NuLtusVvU4g2K7w44eI-0-7eda568b586d8c9a5ee1998d9c780023)
结果如图2-15所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P44_2740.jpg?sign=1739281454-mYeitSGwAiSzTeh49Lt0tvaq8FGzWCyf-0-0fc61b6cc003cf09be204e396dffffd4)
图2-15 查看元组的元素
也可以省略小括号(),直接将元素列出。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P44_57020.jpg?sign=1739281454-GDHOk3LC3r3be6wcZft1jNUGS2MKBB9n-0-72779115eca61afa21d4ed63ca8a5b49)
结果如图2-16所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P44_2764.jpg?sign=1739281454-4MuzaXmVfw0IYqQ2xwA34QvC4ZD5ZjXX-0-52a3d029c33420acb6eb341d77c3d221)
图2-16 省略小括号
与列表的索引一样,元组索引从0开始,例如:
>>>t=(100,200,300) >>>t[0] 100
2.6.4 字典类型(Dictionary)
Dictionary(字典)是Python内非常有用的数据类型。字典使用大括号{}将元素列出。元素由键值(key)与数值(value)组成,中间以冒号(:)隔开。键值必须是字符串、数字或元组,这些对象是不可变动的。数值则可以是任何数据类型。字典的元素排列没有一定的顺序,因为可以使用键值来取得该元素。
创建字典的语法格式如下:
字典变量={关键字1:值1,关键字2:值2,……}
注意 在同一个字典之内,关键字必须互不相同。
例如,创建字典并访问字典中的元素。
bb={'一部': '销售部','二部': '财务部','三部': '市场部'} bb ['一部'] bb ['二部'] bb ['三部']
结果如图2-17所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P45_2843.jpg?sign=1739281454-AjfWoxMlMKBEWbyiZy5VjccdeVS14Wnn-0-9653872740561a14bf15e27f948151c9)
图2-17 创建字典并访问字典中的元素