Part4--列表
- 列表是一种可变的数据类型
- 列表中的数据类型不限
- 列表中的多个元素之间用逗号进行分割
- 最外层用[ ]括起来
列表的两种定义方式
使用list()将其他可迭代的数据类型转换为列表
- 可迭代 能被for循环遍历的都是
使用[ ]来定义
列表的一些运算
+号运算
- 列表中的所有元素存放在一个新的列表当中
*号运算
- 重复列表当中的元素
in 包含运算
- 判断是不是列表中的元素
列表的索引和切片
列表:有序的序列,所以每一个数据都有唯一对应的索引值。
第一个元素对应的索引值是0,和字符串是一样的
语法:列表[开始位置:终止位置:步长和方向]
- 列表[开始位置:终止位置:步长和方向],开始的位置包含在内,终止的位置不包含在内
- 步长的默认值为1,当步长设置为正整数,代表方向从左往右,当步长设置为负整数,代表从后往前进行切片
- 起始位置和终止位置,如果不填,代表从头到尾所有数据
一维列表的切片和索引
多维列表的切片和索引
- 一层一层剥洋葱
列表的方法
3个增加元素的方法
list.append(元素) 追加
list.extend(list) 扩展
list.insert(索引,插入的元素)
4个删除元素的方法
del list[要删除元素的索引值]
- 删除变量
list.pop(要删除元素的索引值)
- 默认删除最后一个元素 ,返回被删除的元素
list.remove(要删除的元素)
- 用于移除列表中某个值的第一个匹配项
- 若列表有多个匹配值,只会删除第一个,要想多次删除,需要用到后面学习的循环语句。
list.clear()
- 清空列表,只剩下一个空列表
修改元素
list[索引]= 修改之后的元素
2个查找元素的方法
list.count(查找的元素)
- 元素出现的次数
list.index(寻找的对象,开始索引,结束索引)
- 元素首次出现的索引
2个排序的方法
list.sort(reverse=True/False)
- 默认升序排列
- 至少是同一种数据类型
list.reverse()
- 将list所有元素反转
列表的深浅复制
- 浅拷贝只拷贝容器中元素的地址 新瓶装旧酒
list.copy() - list.deepcopy()
对于不可变类型,没有开辟新的地址
对于可变类型 ,则重新开辟新的地址