什么是列表:
一个连续可更改元素的容器
python中列表语法
[元素1,元素2,.......]//由方括号包围元素之间逗号分隔,元素可以是任何数据类型甚至是列表
列表创建的几种方式
1. 语法创建
· []//创建空列表
· [元素1,元素2,元素3]//创建指定元素的列表
2. 内建函数创建
· list(字符串)//把字符串每个字符按顺序拆解成列表元素
list(列表)//使用指定列表创建
list(元组)//将元组变成列表
list(字典)//将字典的键变成列表
list(集合)//将集合元素变成列表
list(range(起始数,结束数,步长))//使用内建函range()构建数字列表 结束数是必须的
左闭右开如果不指定起始数和步长采取默认值,起始值默认0 步长默认1
list(列表推导式)//使用推导式构建
列表推导式语法:列表元素值表达式 循环 判断 循环 判断......
最外层的循环变量先和后面循环变量一层层运算,依次生成列表元素
列表查询操作
· 内建函数操作(获取列表长度总和以及最大最小值)
len(列表)//返回列表的长度
sum(列表)//返回列表的和前提是列表的数类型
max(列表)//返回列表元素最大的一个,前提列表元素类型一致否则会报错
min(列表)//返回列表元素最小的一个,前提元素类型一致否则会报错
· 使用下标获取元素
列表[下标]//下标是从0开始,超出下标会报错
· 列表对象函数获取元素出现次数&和元素索引
列表.count(元素)//返回元素出现几次 没有返回0
列表.index(元素)//从前往后查找元素,返回元素的下标,没有返回元素就报错
列表的增加操作(直接修改列表本身,不返回新列表)
· 列表对象函数
列表.append(新的元素)//在列表中添加元素
列表.insert(索引,元素)//在列表指定索引添加元素
列表.extend(新的元素)//参数必须是可迭代类型,如字符串,元组,列表,字典,集合等等,字符串会被拆解成一个个字符放入列表
列表的删除操作 (直接修改列表本身,不返回新列表)
· 列表对象函数
列表.pop(索引)//弹出列表指定索引的值并且返回这个值(如果你想删除列表中某个元素,并且还使用它的话可以选择这个方法) 如果不指定参数删除最后一个元素
列表.clear() //清空整个列表
列表.remove(元素)//根据指定元素删除,没有这个元素将会报
关键字删除
del 列表[下标]//删除指定下标的元素
列表修改操作
列表[下标] = 新的值
列表排序
· 列表对象函数
列表.sort()//不指定参数正序 ,指定参数reverse = True为倒序,前提列表元素类型得一致否则报错(改变原列表,不返回新列表)
· 内建函数
sorted(列表)//返回一个正序列表,如果指定参数reverse=True的话返回倒序列表
(返回新列表,不改变原列表)
列表内容反转(修改原列表)
列表.reverse()//将当前列表内容反转
列表复制
a= 列表1 //直接复制引用修改列表一数据a也会修改
· 列表对象函数
a = 列表1.copy()//复制列表内容不会复制地址,列表1改变a不影响
列表对象所有方法图
列表遍历
- 使用for循环直接遍历
for 临时变量 in 列表:
逻辑…//临时变量代表每一个元素 - 使用for循环和range()函数遍历
for 索引 in range(列表):生成所有列表索引
…//列表[索引]获取每个元素 - 使用for循环加enumerate()函数遍历//可同时遍历索引和值
for 索引,元素 in enumerate(列表):
… - 使用for循环和iter()遍历//和第一种类似,可以直接使用第一种
for 元素 in iter(列表):
…
列表切片(返回列表的子列表)
列表[起始索引:结速索引:步长] // 必须要有一个: 号 (左闭右开)获取子列表,可以不写起始索引,结束索引和步长就会选择默认值。
起始索引默认:0
结束索引默认:-1
步长默认:1:
-1代表最后一个元素,-2代表最后第二个,以此类推.0代表正数第一个 1代表正数第二个以此类推。结束索引不包括进去列如 [1,2,3,4,5][0:3]取的是第0个索引元素第1个索引元素第2个索引元素 为[1,2,3]
列表运算
列表 * 整数 //返回一个新的列表,复制整数次原来列表元素 例如
[1,2] * 5 = [1,2,1,2,1,2,1,2,1,2]
列表 + 列表 //把两个列表拼在一起例如 [1,2]+[3,4]返回
[1,2,3,4]