《简明Python教程》—— 6.数据结构
数据结构
数据结构(Data Structures) 基本上人如其名——它们只是一种结构,能够将一些数据聚合在一起。换句话说,它们是用来存储一系列相关数据的集合。
Python 中有四种内置的数据结构—— 列表(List) 、 元组(Tuple) 、 字典(Dictionary) 和集合 (Set) 。
列表
list = ['value1', 'value2', 'value3']
列表 [list] 是一种用于保存一系列有序项目的集合,也就是说,可以利用列表保存一串项目的序列。
项目的列表应该用方括号括起来,这样 Python 才能理解到正在指定一张列表。一旦创建了一张列表,就可以添加、移除或搜索列表中的项目。既然可以添加或删除项目,那么列表是一种可变的(Mutable)数据类型,意即,这种类型是可以被改变的。
元组
tuple = ('value1', 'value2', 'value3')
元组(Tuple) 用于将多个对象保存到一起。可以将它们近似地看作列表,但是元组不能提供列表类能够提供给你的广泛的功能。元组的一大特征类似于字符串,它们是不可变的,也就是说,不能编辑或更改元组。
元组是通过特别指定项目来定义的,在指定项目时,可以给它们加上括号,并在括号内部用逗号进行分隔。
元组通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值,意即元组内的数值不会改变。
一个空的元组由一对圆括号构成,就像 myempty = () 这样。然而,一个只拥有一个项目的元组并不像这样简单。必须在第一个(也是唯一一个)项目的后面加上一个逗号来指定它,如此一来 Python 才可以识别出在这个表达式想表达的究竟是一个元组还是只是一个被括号所环绕的对象。
字典
dict = {key : value1, key2 : value2}
字典 {dict} 就像一本地址簿,将键值(Keys)与值(Values)联系到一起。键值必须是唯一的。
只能使用不可变的对象(如字符串)作为字典的键值,但是可以使用可变或不可变的对象作为字典中的值。
字典中的成对的键值—值配对不会以任何方式进行排序。如果你希望为它们安排一个特别的次序,只能在使用它们之前自行进行排序。
序列
列表、元组和字符串可以看作序列(Sequence)的某种表现形式。
序列的主要功能是资格测试(Membership Test)(也就是 in 与 not in 表达式)和索引操作(Indexing Operations),它们能够允许我们直接获取序列中的特定项目。
上面所提到的序列的三种形态——列表、元组与字符串,同样拥有一种切片(Slicing)运算符,它能够允许我们序列中的某段切片——也就是序列之中的一部分
集合
set()
集合(Set)是简单对象的无序集合(Collection)。当集合中的项目存在与否比起次序或其出现次数更加重要时,我们就会使用集合。
引用
如果希望创建一份诸如序列等复杂对象的副本(而非整数这种简单的对象(Object)),必须使用 切片 操作来制作副本。如果仅仅是将一个变量名赋予给另一个名称,那么它们都将“查阅”同一个对象,