文章目录 [显示]
列表和元组
数据结构
通过某种方式组织在一起的数据元素及其关系的集合
序列
序列中的每个元素被分配一个序号,即为元素位置,称为索引(index);可以使用正向n和倒向-n进行索引
2.1 序列概览
类型
python包括6种内建序列:列表(list) 元组(tuple) 字符串(str) unicode字符串 buffer对象 xrange对象
关于list和tuple的一些注意
list可以修改,tuple则不能 出于某种原因(技术,内部运作)很多内建元素返回元组 字典的键必须是元组
嵌套
序列可以包含序列
容器
Python还有容器(container),基本上是包含其他对象的任意对象.序列和映射(如字典)是两种主要的容器.映射的每个内容有自己的名字,称为键.集合不属于序列.
2.2 通用序列操作
索引
通过下标访问元素和修改元素,如:
分片
通过编号访问一定范围内的元素,通过冒号隔开两个索引来实现:
序列相加
基本上.同类型的序列可以用加号进行连接
乘法
用数字乘以一个序列,返回将原序列重复这个数字次的新的序列
成员资格
使用in运算符可以检查一个值是否在序列中,并返回结果的布尔值
这种方法,早期版本只能检查单个元素在序列中是否存在,若检查子序列之于序列,则引发TypeError
长度,最大值,最小值
顾名思义.值得注意的是,max和min函数会将输入的对象隐式转换为多个数字
2.3 列表:python的苦力
列表转字符串
可以将字符列表转化为字符串
2.3.2 基本的列表操作
元素赋值
为开辟了内存的元素赋值
删除元素
分片赋值
- 可以用与原序列不等长的序列赋值
- 可以插入新元素:
- 可以删除元素
2.3.3 列表方法
追加新对象
元素计数
末尾追加新对象们
索引方法
搜值返回下标,未找到引发ValueError
插入方法
用于将对象插入列表中,可用分片赋值实现
弹出栈方法
搜索移除方法
操作首个匹配项
反向方法
排序操作
- 前者原地无返回,后者修改有返回
- key为比较函数
- reverse决定是否反向
2.4 元组:不可变序列
一些注意
- 元组是不可修改的序列
- 如果运用逗号分隔一些值,则自动创建元组
- 大部分时候,元组用括号括起来
- 空元组()
- 单元素元组(a,)
2.4.2 基本元组操作
可怜,只有创建和访问;基本没别的了