700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python基础系列教程——数据结构(列表 元组 字典 集合 链表)

python基础系列教程——数据结构(列表 元组 字典 集合 链表)

时间:2021-10-08 10:54:00

相关推荐

python基础系列教程——数据结构(列表 元组 字典 集合 链表)

全栈工程师开发手册 (作者:栾鹏)

python数据挖掘系列教程

基本顺序存储结构——列表与元组

Python中的基本顺序存储结构是列表与元组,在操作的复杂度上和数组完全相同,其中列表是可变数据类型,元组是不可变数据类型。这里先介绍一下两种数据结构共有的方法:

这些都不涉及对数组内元素的更改,因此是列表和元组都可以使用的。注意元组只能使用以上的方法。

接下来介绍可变有序容器的方法,注意各种方法都有利用切片赋值的实现!

此外,列表还独有s.sort(key=None, reverse=None),其中key是一个函数名,也就是比较函数,reverse为布尔值,True的话则会列表反向。

Sort单独列出来是因为如果自己从可变有序容器里面派生的话并没有这个方法。

基本哈希存储结构——字典

字典是基于哈希表的一种映射结构,注意本文中介绍的Python的数据结构并没有任何一种使用了红黑树的搜索结构。python3.6以后字典是有序字典,在python3.6以前有序字典是OrderedDict。

键值相等的字典——集合set与frozenset

在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。

set无序排序且不重复,是可变的。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算.

frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

首先介绍两种集合共有的方法:

而set独有的方法是,一个是诸如&=之类的运算符,还有:

创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。

创建集合set

a = set(['y', 'python', 'b', 'o'])print(a)a = set('boy')print(a)

输出为

{'y', 'o', 'python', 'b'}{'y', 'o', 'b'}

双向链表deque

就是简单意义上的双向链表(双向队列),注意这里不再支持切片操作了,随机访问的操作保留,可以通过随机访问通过del实现删除,但是没有切片无法用于替换,截取等操作,无法sort:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。