Python 数据结构理解分享
2019-07-24 09:25:43来源:博客园 阅读 ()
摘要:分享学习Python数据结构的一些理解,主要包含序列(如列表和元组),映射(如字典)以及集合3中基本的数据结构,以及可变和不可变数据类型。
Python 中的数据结构是根据某种方式将数据元素组合起来形成的一个数据元素集合,其中主要包含序列(如列表和元组),映射(如字典)以及集合3中基本的数据结构。几乎所有的Python数据结构都可以归结为这3种数据结构类型。
1.数据类型结构总表
Python数据结构除了分为序列(如列表和元组),映射(如字典)以及集合3中基本的数据结构外,也可区分为可变数据类型与不可变数据类型。
(1)可变数据类型
通过可变数据类型,可以直接对数据结构对象的内容进行修改(并非是重新对对象赋值操作,即可以对数据结构对象进行元素的赋值修改、删除或增加等操作。由于可变数据类型对象能直接对自身进行修改,所以修改后的新结果仍与原对象引用同一个id地址值,即由始至终只对同一个对象进行了操作。 Python中比较重要的可变数据类型包括列表、字典、可变集合等。
(2)不可变数据类型
与可变数据类型不同,不可变数据类型不能对数据结构对象的内容进行修改操作,不可对对象中的元素进行增加、删除和赋值修改。若需要对对象进行内容修改,则需要对其变量名进行重新赋值,赋值操作会把变量名指向一个新对象,新旧对象两者引用两个不同的id地址值。常用的不可变数据类型包括数字、字符串、元组、不可变集合等。
2.序列类型
序列是数据结构对象的有序排列,数据结构对象作为序列的元素都会被分配一个位置编号(也称为索引),序列就相当于数学中数列的概念。Python中的序列类型包括字符串(string)、列表(list)、元组(tuple)、Unicode字符串、 buffer对象、 Xrange对象等数据结构,其中字符串、列表和元组最为常用。
字符串特点:
- "任何在这双引号之间的文字”;
- "单引号其实和双引号完全一样”;
- '''三个引号被用于长段文字
或说明,只要引号不结束,你就可以任意
换行''’;
- 字符串属不可变数据类型。
列表特点:
- 列表创建在[ ]中,例[12,’dog’,’猫’]
- 列表中每个元素都是可变的;
- 列表中的元素是有序的,每个元素对应一个位置;
- 列表可以容纳Python中的任何对象。
元组特点:
- 元祖创建在( )中,例(55,’app’,’a’,’p’,’p’)
- 元祖中每个元素都是不可变的;
- 元祖中的元素是有序的,每个元素对应一个位置。
3.映射类型
映射类型就是存储了对象与对象之间的映射关系的数据结构类型, Python中唯一的映射类型数据结构是字典( dictionary),字典中的每个元素都存在相应的名称(称为键)与之一一对应。字典相当于带有各自名称的元素组成的集合。与序列不同的是,字典中的元素并没有排列顺序。
字典特点:
- 字典创建在{ }中,例{key1:value1,,key2:value2,key3:value3,}
- 元素是键值对是无序、可变的,但键不变且不允许重复,值可变;
- 键-值成对出现;
- 键不能重复;
- 键不可更改,值可修改;
- 键来索引值。
4.集合类型
除了上述基本数据结构类型外, Python还提供了一种称为集合的数据结构。集合当中的元素不能重复出现,即集合中的元素是相对唯一的,并且元素不存在排列顺序。由此可以看出, Python中的集合概念相当于数学中的集合概念。集合类型包括可变集合(set)与不可变集合( frozenset)。
集合特点:
- 集合创建在{ }中,例{1,2,3,’a’,’b’,’c’}
- 集合是无序的;
- 集合不能重复,不可更改。
原文链接:https://www.cnblogs.com/xiaoguan-bky/p/11203974.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash