阅读python程序员的各种用.在给大家分享这个操作之前,小编推荐大家加下这个裙;四九一三零八六五九,编号是;YZ,大家遇到啥问题都可以在里面交流,而且分享十年开发经验牛人分享课一套,是个非常好的学习交流地方,也有程序员大神给大家热心解答各种问题,很快满员了,欲进从速哦,等大家加入学习交流基地呢,关于python。。。。。。。。。。。
python大数据课堂已经开始了。想转行大数据,数据挖掘,机器学习,人工智能的小伙伴可以关注啦。上一篇带大家了解了python中的正则表达式。今天我们来继续了解python中的数据容器。调试环境以python3.6环境为例。需要代码和demo的朋友可以关注下我的群
基本顺序存储结构——列表与元组
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独有的方法是,一个是诸如&=之类的运算符,还有:
双向链表deque
就是简单意义上的双向链表(双向队列),注意这里不再支持切片操作了,随机访问的操作保留,可以通过随机访问通过del实现删除,但是没有切片无法用于替换,截取等操作,无法sort:
领取专属 10元无门槛券
私享最新 技术干货