Python的元组、列表、字典数据类型是Python内置的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些地方将会有很大的益处。
1元组
个人认为就像C++的数组,Python中的元组有以下特性
任意对象的有序集合,这条没啥说的,数组的同性
通过偏移读取
一旦生成,不可改变
固定长度,支持嵌套
代码:
上面的例子足以说明大部分了,使用元组时最重要的一点是“一旦生成,就不可变了”。
2 列表
列表就像C++里的vector,所具有的特性也要比元组更多,更灵活,其特点总结如下
任意对象的有序集合
可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的
长度可变,支持嵌套
还有一些类似java的对象引用机制
由于列表的这些特性,使得列表在实际应用中被广泛使用,下面是一些例子。
(1) 首先是基本用法
代码
(2) 索引和分片,赋值(单个元素赋值,分片赋值)
代码
(3) 添加、排序、删除操作
(4)一些有趣的用法(来自论坛 id—咖啡舞者)
去掉列表中每个元素头尾的空格
把列表中,大于3的元素,乘以2:
代码
把列表1的每一个元素和列表2的每一个元素相乘:
取获[0-10)的平方:
[x**2 for x in range(10)]
3
字典
Python里的字典就像C++里的map,以键值对的方式存在并操作,其特点如下
通过键来存取,而非偏移量;
键值对是无序的;
键和值可以是任意对象;
长度可变,任意嵌套;
在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上
(1) 基本操作
(2) 修改,删除,添加
在这里需要来一句,对于字典的扩充,只需定义一个新的键值对即可,而对于列表,就只能用append方法或分片赋值。
(3)对字典的遍历
4 文件
与C++的File类相比,Python的文件类要狭义一些
(1) 文件写
Python的一个open语句就打开了一个文件(当给定的文件不存在时,会自动建立一个新的文件)。open的第一个参数是文件名,第二个参数是操作模式,所谓操作模式就是你打开一个文件是用来干什么的,是读,还是写(当然操作模式不仅只有读和写)。还有一件事,操作完要记得关。
(2) 文件读