# **容器类型:列表和元组(list and tuple)**
## **数据收纳盒:**
- 用来收纳数据对象的数据类型
- 以一种规则的下标索引方式(收纳盒名字+ 数字序号)访问到每个数据
- 这种收纳盒是一种序列
- 列表可以删除、添加、替换、重排序列中的元素(可变类型)
- 元组是不能再更新(不可变)序列,元组在保留列表大多数功能的同时,去掉了一些灵活性以换取更高的处理性能
## **列表和元组的创建:**
- 创建列表:方括号法[],指明类型法list()
- 创建元组:圆括号法(),指明类型法tuple()
- 列表或元组中保存的各个数据称作元素(element),类型没有限制
## **列表和元组的操作:**
### **增长和缩减**
- 增长列表:append操作/insert操作/extend操作
- 缩减列表:pop操作/remove操作/clear操作
- 列表是一种可变容器,可以随意增减,但并不是所有的数据容器都能像列表这样可以继续添加新元素
### **重新组织**
- reverse:把列表中的数据元素头尾反转重新排列
- sort:把列表中的数据元素按照大小顺序重新排列
- reversed/sorted操作:得到重新排列的列表,而不影响原来的列表
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190714100400343.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwOTM5OTQz,size_16,color_FFFFFF,t_70)
### **合并**
加法运算+:连接两个列表/元组
乘法运算*:复制n次,生成新列表/元组
### 列表/元组大小
len():列表/元组中元素的个数
### 索引
alist[n]或atuple[n]:可以用赋值语句给列表中的任何一个位置重新赋值,但元组属于不可变类型,索引只能获取对应位置中的数据值,不可重新赋值
### 切片
alist[start : end : step]
atuple[start : end : step]