Python 3.6从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

2.6 Python结构数据类型

Python语言中结构数据类型有很多种,常见的就是集合类型、列表类型、元组类型和字典类型。本节先了解这4种结构数据类型的基本概念。

2.6.1 集合类型(Sets)

Sets(集合)是一个无序不重复元素的集。它的主要功能是自动清除重复的元素。创建集合时用大括号({})来包含其元素。

例如:

    >>> goods = {'冰箱', '洗衣机','空调', '冷风扇'}
    >>> print(goods)            # 输出集合的内容

输出结果如图2-10所示。

图2-10 输出集合的内容

如果集合中有重复的元素,就会自动将其删除。

例如:

    >>> goods = {'冰箱', '洗衣机', '冰箱', '冰箱', '冷风扇'}
    >>> print(goods)                      # 删除重复的

删除结果如图2-11所示。

图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所示。

图2-12 访问列表中的元素

如果索引值超出范围,Python就会抛出一个IndexError异常,如图2-13所示。

图2-13 抛出一个IndexError异常

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可以让Python返回一个列表元素。例如:

    >>>b = [100,200,300,400]
    >>>b[-1]

执行结果如图2-14所示。

图2-14 访问列表最后一个元素

在不知道列表长度的情况下,上述方法很实用。以此类推,索引-2表示倒数第二个列表的元素。

2.6.3 元组类型(Tuple)

Tuple(元组)对象属于序数对象,是一群有序对象的集合,并且可以使用数字来做索引。元组对象与列表对象类似,差别在于元组对象不可以新增、修改与删除。要创建一个元组对象,可以使用小括号()来包含其元素。其语法如下:

    variable = (element1, element2, ...)

下面创建一个元组对象,含有4个元素:100、200、300和400。

    >>>c=(100,200,300,400)
    >>> c           #查看元组的元素

结果如图2-15所示。

图2-15 查看元组的元素

也可以省略小括号(),直接将元素列出。

    >>>c = 100,200,300,400    #省略小括号
    >>>c                    #查看元组的元素

结果如图2-16所示。

图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所示。

图2-17 创建字典并访问字典中的元素