python学习(10)

数据结构(data structures)

只是一种结构,能够将一些数据聚合在一起,是用来存储一系列相关数据的集合。

python中有四种内置的数据结构——列表(list)、元组(tuple)、字典(dictionary)、集合(set)。

列表(list)

是一种用于保存一系列有序项目的集合,可以利用列表保存一串项目的序列。项目的列表应该用方括号括起来。一旦创建了一张列表,你可以添加、移除或搜索列表中的项目,因此说列表是一种可变的(mutable)数据类型,即这种类型是可以被改变的。

元组(tuple)

元组用于将多个对象保存到一。你可将他们近似地看作列表,但是元组不能提供列表 类能够提供给你的广泛的功能。元组的一大特征类似于字符串,它们是不可变的,也就是说你不能编辑或更改元组。

元组是通过特别指定项目来定义的,在指定项目时,你可以给它们加上括号,并在括号内部用逗号进行分隔。

元组通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值,意即元组的数值不会改变。

字典(dictionary)

字典就像一本地址簿,如果你知道国他的姓名,你就可以在这里找到其地址或是能够联系上对方的更多详细信息,换言之,我们将键值(keys)(即姓名)与值(values)(即地址等 详细信息)联系到一起。注意:键值必须是唯一的。

另外要注意的是你只能使用不可变的对象(如字符串)作为字典的键值,但是你可以使用可变或不可变的对象作为字典中的值。

在字典中,你可以通过使用符号构成d={key1:value1,key2:value2}这样的形式,来成对地指定键值与值。成对的键值与值之间使用冒号分隔,而每一对键值与值则使用逗号进行区分,它们全都由一对花括号括起。

另外需要注意,字典中的成对的银值-值配对不会以任何方式进行排序。如果你希望它们安排一个特别的次序,只能在使用它们之前自行进行排序。

序列(sequence)

列表、元组和字符串可以看作序列的某种表现形式。

序列的主要功能是资格测试(membership test)(也就是in与not in表达式)和索引操作(indexing operations),它们能够允许我们直接获取序列中的特定项目。

集合(set)

集合是简单对象的无序集合(collection).当集合中的项目存在与否比起次序或其出现次数更加重要时,我们就会使用集合。

通过集合,你可以测试某些对象的资格或情况,枪查穷乡它们是否是其它集合的子集,找到两个集合的交集,等等。

以下是上面说到的各种数据结构的简单例子:

1.列表:

程序:

python学习(10)_第1张图片

运行:

python学习(10)_第2张图片

在这里,列表使用[]括起来,里边是字符串,每个字符串之间使用逗号,列表可以使用.sort进行自动排序,也可以使用del删除一个列表中的对象,leg(列表名称)可以计算列表长度,.append(字符串)可以增添对象。

2.元组

程序:

python学习(10)_第3张图片

运行:

python学习(10)_第4张图片

元组中,使用小括号,里面是字符串,中间用逗号隔开。元组同样可以增加对象,增加的对象也可以是元组,同样使用len()计算 元组中的对象个数,如果元组中存在一个子元组,那这个子元组可以看成一个对象整体。注意:不可以对元组进行排序,即不能使用.sort()语句。

如果一个元组是空元组,则直接使用zoo=()即可,但是若元组只有一个元素,则需要在第一个对象后加逗号隔开,如zoo=(2,)否则会被当成一个数字2来看待,而一个元素的序列就不存在这个问题。

3.字典

程序:

python学习(10)_第5张图片

运行:

python学习(10)_第6张图片

字典是用大括号表示,里边每一个元素之间用逗号隔开,每个元素包含键值与值,分别用字符串表示,用逗号(:)隔开。

可以使用del语句删除某个键值-值配对。

可以通过字典的item方法来访问字典中每一对键值-值配对信息,这一操作将返回一份包含元组的列表,每一元组中则包含了一对相应的信息——键值以及其相应的值。

如果候增加一堆新的键值-值配对,可以简单地通过使用索引去处符访问一个键值并为其分配与之相应的值。

可以使用in 运算符来检某对键值-值配对是否存在。


总结:学习了数据结构中的序列[],元组()以及字典{:,}

明天学习集合。

你可能感兴趣的:(python学习(10))