1.5 Python的数据结构
数据结构是数据的载体,在Python语言中,数据结构的表现形式是如列表、元组和字典等的对象。
1.5.1 列表及其用法
Python用方括号的形式来定义列表,再用逗号来间隔列表中的各个元素或值。下面的ListDemo.py范例程序演示了列表的常见用法。
本范例程序第1行代码定义了名为langList的列表,该列表有4个元素,即4个字符串类型的数据。在Python中列表是用方括号来定义的,列表中的元素以逗号来分隔。第3行的print语句输出该列表中包含的数据。
Python的列表不仅可以存储字符串类型的数据,还可以存储布尔型或浮点型的数据。第4行代码演示了在列表中存储布尔型数据的用法。第7行代码演示了存储浮点型数据的用法。
Python的列表还可以混合存储不同类型的数据,比如第10行定义的mixedList列表包含了字符串类型、布尔类型和浮点型三种不同类型的数据。
虽然如此,在实践中一般会在同一个列表里只存放一种类型的数据,如果存放了多种不同类型的数据,那么在读取列表中元素时,就不得不用多种方法来处理不同类型的数据,这无疑增加了代码的复杂度,也就增加了代码出错的可能性。
1.5.2 元组及其用法
元组和列表非常相似,都是用线性表的形式来存储数据。不过,在创建元组对象后,元组对象中的元素是不能被修改的,否则就会报错,不过元组作为一个整体可以被一次性删除。下面的TupleDemo.py范例程序演示了元组的常见用法。
本范例程序第1行代码用小括号的形式创建了名为myTuple的元组,并在其中存放了3个数据(即元素)。第2行的print语句输出了该元组中的所有元素。
前文已经讲过,元组中的元素是不能被修改的,如果企图通过第4行和第6行的代码修改或删除元组中的元素,就会出现第3行和第5行的报错提示信息。
不过元组可以作为一个整体被一次性地删除掉,比如可通过上述第7行的代码,用del方法一次性地删除整个元组。
1.5.3 字典及其用法
程序员可以在Python的字典中用“键-值对”(Key-Value Pair)的方式来容纳数据。单纯从语法角度来看,在字典中可以存储Python所支持的任何数据类型的数据,但是为了提升代码的可维护性,字典中“键-值对”数据的类型应当保持统一。
在Python中用大括号的形式来创建字典,字典里的键和值之间用冒号分隔,而每个“键-值对”用逗号分隔。下面的DictDemo.py范例程序演示了创建和使用字典的常见方法。
本范例程序第1行代码通过大括号定义了一个字典,以“键-值对”的形式存储了3种编程语言的考试成绩。第2行演示了通过键来访问值的用法。
第3行和第4行代码演示了在字典中增加“键-值对”和通过键来更新值的用法。在第3行的代码中,因为没有'G#'这个键,所以就会在字典里增加“键-值对”。在第4行的代码中,由于存在'Python'这个键,因此是通过键更新对应的值。第5行的代码演示了用del关键字通过指定键删除字典中“键-值对”的方式。在这段代码的最后,通过第7行的print语句输出字典的最新内容,以确认了添加、更新和删除字典中对象的结果。