数据结构概念
数据结构是指:相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。
举个列子来理解这个数据结构:数据可以比作是书本, 数据结构相当于书架,书存放在书架上,要拿书,我们就得到书架上面去取。为了更快的拿到想要的书,可以把书按照某个方式来排列。比如将书架分成N层,(卡通书在第一层,文学书在第二层......)不同种类的书放在书架的不同层里。这就是对数据结构通俗的一种理解。
Python常见数据结构整理
Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器
列表
list是处理一组有序项目的数据结构,一个可变型的序列,之所以说可变,是因为可以对列表数据类型可以进行增、删、改的操作,而不可变对象则没有这三种操作。列表的项目包含在方括号[]中,eg: [1, 2, 3], 空列表[]。判断列表中是否包含某项可以使用in, 比如 l = [1, 2, 3]; print 1 in l; #True;支持索引和切片操作;索引时若超出范围,则IndexError;使用函数len()查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError
列表的创建的查操作
Python列表操作的函数和方法
- cmp(list1, list2):比较两个列表的元素
- len(list):列表元素个数
- max(list):返回列表元素最大值
- min(list):返回列表元素最小值
- list(seq):将元组转换为列表
列表操作包含以下方法:
- list.append(obj):在列表末尾添加新的对象
- list.count(obj):统计某个元素在列表中出现的次数
- list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.index(obj):从列表中找出某个值第一个匹配项的索引位置
- list.insert(index, obj):将对象插入列表
- list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- list.remove(obj):移除列表中某个值的第一个匹配项
- list.reverse():反向列表中元素
- list.sort([func]):对原列表进行排序
元组
元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)。故其没有增、删、改的权限。只能进行查询(索引和切片)和一些简单的其他方法。
字典
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型,基本的操作包括如下:
- len():返回字典中键—值对的数量;
- d[k]:返回关键字对于的值;
- d[k]=v:将值关联到键值k上;
- del d[k]:删除键值为k的项;
- key in d:键值key是否在d中,是返回True,否则返回False。