目录
一、组合数据类型概述
二、 序列数据类型
序列类型通用操作符和函数
元组(tuple)
三、集合类型
四、映射类型
五、列表类型和操作
1.列表类型的概念
2.列表类型的操作
五、字典类型和操作
字典类型定义
字典用法
字典处理函数及方法
字典类型的基本原则:
组合数据类型更能够将多个同类或不同类型组织起来,通过单一的表示使数据更有序、更容易。根据数据之间的关系,组合数据类型可以分为3类:序列类型、集合类型和映射类型。
序列类型是一个元素向量,元素之间的存在先后关系,通过序号访问,元素之间不排他。
集合类型是一个元素类型,元素之间无序,相同元素在集合中唯一存在。
映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。
(1)在Python中序列类型有字符串、元组以及列表。
(2) 序列支持双向索引,正向递增索引和反向递减索引,正向递增索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推;反向递减索引从右向左依次递减,最后一个元素的索引为-1,倒数第二个元素的索引为-2,以此类推。
(3)序列中的元素之间存在顺序关系,所以序列中可以存在数值相同、但位置不同的元素,即可以出现重复的元素。
(4)序列类型支持成员关系操作符(in)、长度计算函数(len)、分片([]),元素本身可以是序列类型。
注意:一个元组可以作为另一个元组的元素。例如:
>>> creature = "cat","dog","tiger","human"
>>> creature
('cat', 'dog', 'tiger', 'human')
>>> c = ("red",0x001100,"bule", creature) #一个元组可以作为另一个元组的元素。
>>> c
('red', 4352, 'bule', ('cat', 'dog', 'tiger', 'human'))
>>> c[2]
'bule'
>>> c[-1][2] #c[-1]==>c从右往左第一个:creature;然后[2]==>就是creature中从左往 右,0、1、2:就是tiger
'tiger'
元组除了用于表达固定数据外,还常用于以下3种情况:函数多返回值、多变量同步赋值、循环遍历,例如:
>>>def func(x): #函数多返回值
return x,x*x;>>>a,b = 'dog','cat' #多变量同步赋值
>>>import math #循环遍历
>>>for x,y in ((1,0),(2,5),(3,8)):
print(math.hypot(x,y)) #求多个坐标值到原点的距离
特点:(1)确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。
(2)无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。
(3)互异性:集合中的元素互不相同。
集合是无序组合,所以它没有索引和位置的概念,也不能分片,集合中的元素可以动态增加或删除。
例如:
>>> s = {425,100,0,(10,"c"),424,425,100}
>>> s
{0, 100, 424, 425, (10, 'c')}
集合类型的10个操作符
映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。
键(key)表示一个属性,也可以理解为一个类别或项目,值(value)是属性的内容,键值对刻画了一个属性和它的值。键值对将映射关系结构化,用于存储和表达。
在Python中,映射类型主要以字典(dict)体现。
列表是包含0个或多个对象引用的有序序列,没有长度限制,可自由增删元素,使用灵活。
列表(list)是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换
字典类型是“映射”的体现
>>> d = {"中国":"北京","美国":"华盛顿","法国":"巴黎"};
>>> d["中国"];
'北京'
>>> de = {};
>>> type(de);#返回变量x的类型
(1)字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息。
(2)字典中元素以键信息为索引访问。
(3)字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对。